Accepting request 235517 from Base:System

- Add upstream patches
  0001-Do-not-unescape-unit-names-in-Install-section.patch
  0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch

- Add upstream patch
  1020-udev-keyboard-also-hook-into-change-events.patch

- Add upstream patches to update keyboard data base
  0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
  0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
- Add upstream patches
  0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
  0002-nspawn-restore-journal-directory-is-empty-check.patch
  0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
  0004-socket-properly-handle-if-our-service-vanished-durin.patch

- Add upstream patches
  0001-Do-not-unescape-unit-names-in-Install-section.patch
  0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch

- Add upstream patch
  1020-udev-keyboard-also-hook-into-change-events.patch

- Add upstream patches to update keyboard data base
  0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
  0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
- Add upstream patches
  0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
  0002-nspawn-restore-journal-directory-is-empty-check.patch
  0003-core-never-consider-failure-when-reading-drop-ins-fa.patch

OBS-URL: https://build.opensuse.org/request/show/235517
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=189
This commit is contained in:
Stephan Kulow 2014-05-28 04:43:08 +00:00 committed by Git OBS Bridge
commit 469587da85
13 changed files with 476 additions and 0 deletions

View File

@ -0,0 +1,21 @@
Based on 000f6e5667eb4f73e137cbd0d7395a9f9db7728a Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Mon, 26 May 2014 20:09:45 +0200
Subject: [PATCH] Do not unescape unit names in [Install] section
https://bugs.freedesktop.org/show_bug.cgi?id=49316
---
src/shared/conf-parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- src/shared/conf-parser.c
+++ src/shared/conf-parser.c 2014-05-27 07:36:20.478236631 +0000
@@ -723,7 +723,7 @@ int config_parse_strv(const char *unit,
FOREACH_WORD_QUOTED(w, l, rvalue, state) {
_cleanup_free_ char *n;
- n = cunescape_length(w, l);
+ n = strndup(w, l);
if (!n)
return log_oom();

View File

@ -0,0 +1,36 @@
From d258d4967eb24122c2b1014d4e873f61b633f1d2 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Sun, 25 May 2014 11:57:22 +0200
Subject: [PATCH] keymap: Add Lenovo Enhanced USB Keyboard
https://bugs.freedesktop.org/show_bug.cgi?id=77234
---
hwdb/60-keyboard.hwdb | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
index 832c686..fe5b3ee 100644
--- hwdb/60-keyboard.hwdb
+++ hwdb/60-keyboard.hwdb
@@ -579,6 +579,18 @@ keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr*
KEYBOARD_KEY_f1=f21
+# enhanced USB keyboard
+keyboard:usb:v04B3p301B*
+ KEYBOARD_KEY_90001=prog1 # ThinkVantage
+ KEYBOARD_KEY_90002=screenlock
+ KEYBOARD_KEY_90003=file
+ KEYBOARD_KEY_90004=wordprocessor
+ KEYBOARD_KEY_90005=spreadsheet
+ KEYBOARD_KEY_90006=calc
+ KEYBOARD_KEY_90007=mail
+ KEYBOARD_KEY_90008=www
+
+
###########################################################
# Logitech
###########################################################
--
1.7.9.2

View File

@ -0,0 +1,45 @@
From e6a4a517befe559adf6d1dbbadf425c3538849c9 Mon Sep 17 00:00:00 2001
From: Djalal Harouni <tixxdz@opendz.org>
Date: Fri, 11 Apr 2014 01:45:52 +0100
Subject: [PATCH] nspawn: allow to bind mount journal on top of a non empty
container journal dentry
Currently if nspawn was called with --link-journal=host or
--link-journal=auto and the right /var/log/journal/machine-id/ exists
then the bind mount the subdirectory into the container might fail due
to the ~/mycontainer/var/log/journal/machine-id/ of the container not
being empty.
There is no reason to check if the container journal subdir is empty
since there will be a bind mount on top of it. The user asked for a bind
mount so give it.
Note: a next call with --link-journal=guest may fail due to the
/var/log/journal/machine-id/ on the host not being empty.
https://bugs.freedesktop.org/show_bug.cgi?id=76193
Reported-by: Tobias Hunger <tobias.hunger@gmail.com>
---
src/nspawn/nspawn.c | 5 -----
1 file changed, 5 deletions(-)
diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c
index 9d9238f..ef84664 100644
--- src/nspawn/nspawn.c
+++ src/nspawn/nspawn.c
@@ -1143,11 +1143,6 @@ static int setup_journal(const char *directory) {
} else if (access(p, F_OK) < 0)
return 0;
- if (dir_is_empty(q) == 0) {
- log_error("%s not empty.", q);
- return -ENOTEMPTY;
- }
-
r = mkdir_p(q, 0755);
if (r < 0) {
log_error("Failed to create %s: %m", q);
--
1.7.9.2

View File

@ -0,0 +1,46 @@
From 1f89214e6e990a0b552f6854f87f8514ca384956 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
Date: Fri, 21 Feb 2014 11:55:24 +0100
Subject: [PATCH] analyze/run: use bus_open_transport_systemd instead of
bus_open_transport
Both systemd-analyze and systemd-run only access org.freedesktop.systemd1
on the bus. This patch allows using systemd-run --user and systemd-analyze
--user even if the user session's bus is not properly integrated with the
systemd user unit.
https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports...
---
src/analyze/analyze.c | 2 +-
src/run/run.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git src/analyze/analyze.c src/analyze/analyze.c
index 4c5fcfe..0a4190c 100644
--- src/analyze/analyze.c
+++ src/analyze/analyze.c
@@ -1335,7 +1335,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus);
+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0) {
log_error("Failed to create bus connection: %s", strerror(-r));
goto finish;
diff --git src/run/run.c src/run/run.c
index e4c695c..9d5527b 100644
--- src/run/run.c
+++ src/run/run.c
@@ -593,7 +593,7 @@ int main(int argc, char* argv[]) {
arg_description = description;
}
- r = bus_open_transport(arg_transport, arg_host, arg_user, &bus);
+ r = bus_open_transport_systemd(arg_transport, arg_host, arg_user, &bus);
if (r < 0) {
log_error("Failed to create bus connection: %s", strerror(-r));
goto finish;
--
1.7.9.2

View File

@ -0,0 +1,28 @@
From e55edb22a71e67f01534d28f91c6aa27bba48fc1 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Sun, 25 May 2014 12:16:35 +0200
Subject: [PATCH] keymap: Asus EeePC touchpad toggle key
Originally is KEY_TOUCHPAD_TOGGLE, but X.org can't handle the big key events,
so use the F21 convention.
https://bugs.freedesktop.org/show_bug.cgi?id=72807
---
hwdb/60-keyboard.hwdb | 1 +
1 file changed, 1 insertion(+)
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
index fe5b3ee..05e6a04 100644
--- hwdb/60-keyboard.hwdb
+++ hwdb/60-keyboard.hwdb
@@ -138,6 +138,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn*
KEYBOARD_KEY_ef=mute
keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
+keyboard:name:Eee PC WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr*
KEYBOARD_KEY_6b=f21 # Touchpad Toggle
###########################################################
--
1.7.9.2

View File

@ -0,0 +1,30 @@
From cdb2b9d05a2f3d649f47bd2ba24eb3fe30b52e92 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 22 May 2014 15:19:46 +0900
Subject: [PATCH] nspawn: restore journal directory is empty check
This undoes part of commit e6a4a517befe559adf6d1dbbadf425c3538849c9.
Instead of removing the error message about non-empty journal bind mount
directories, simply downgrade the message to a warning and proceed.
---
src/nspawn/nspawn.c | 3 +++
1 file changed, 3 insertions(+)
diff --git src/nspawn/nspawn.c src/nspawn/nspawn.c
index ef84664..eb9c5e0 100644
--- src/nspawn/nspawn.c
+++ src/nspawn/nspawn.c
@@ -1143,6 +1143,9 @@ static int setup_journal(const char *directory) {
} else if (access(p, F_OK) < 0)
return 0;
+ if (dir_is_empty(q) == 0)
+ log_warning("%s is not empty, proceeding anyway.", q);
+
r = mkdir_p(q, 0755);
if (r < 0) {
log_error("Failed to create %s: %m", q);
--
1.7.9.2

View File

@ -0,0 +1,109 @@
From bcd816bd349241bcd9c0bfbfd9cfe7b034ba351b Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 22 May 2014 16:49:12 +0900
Subject: [PATCH] core: never consider failure when reading drop-ins fatal
drop-ins don't carry the main configuration of a unit, hence read them
if we can't, complain if we cannot, but don't fail.
---
src/core/load-dropin.c | 42 +++++++++++++-----------------------------
1 file changed, 13 insertions(+), 29 deletions(-)
diff --git src/core/load-dropin.c src/core/load-dropin.c
index 546e560..f2ffc97 100644
--- src/core/load-dropin.c
+++ src/core/load-dropin.c
@@ -58,6 +58,7 @@ static int iterate_dir(
if (errno == ENOENT)
return 0;
+ log_error("Failed to open directory %s: %m", path);
return -errno;
}
@@ -101,7 +102,7 @@ static int process_dir(
char ***strv) {
_cleanup_free_ char *path = NULL;
- int r;
+ int r, q;
assert(u);
assert(unit_path);
@@ -112,11 +113,8 @@ static int process_dir(
if (!path)
return log_oom();
- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path)) {
- r = iterate_dir(u, path, dependency, strv);
- if (r < 0)
- return r;
- }
+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, path))
+ iterate_dir(u, path, dependency, strv);
if (u->instance) {
_cleanup_free_ char *template = NULL, *p = NULL;
@@ -130,11 +128,8 @@ static int process_dir(
if (!p)
return log_oom();
- if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p)) {
- r = iterate_dir(u, p, dependency, strv);
- if (r < 0)
- return r;
- }
+ if (!u->manager->unit_path_cache || set_get(u->manager->unit_path_cache, p))
+ iterate_dir(u, p, dependency, strv);
}
return 0;
@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) {
SET_FOREACH(t, u->names, i) {
char **p;
- STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
- /* This loads the drop-in config snippets */
- r = process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv);
- if (r < 0)
- return NULL;
- }
+ STRV_FOREACH(p, u->manager->lookup_paths.unit_path)
+ process_dir(u, *p, t, ".d", _UNIT_DEPENDENCY_INVALID, &strv);
}
if (strv_isempty(strv))
@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) {
char **p;
STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
- r = process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL);
- if (r < 0)
- return r;
-
- r = process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL);
- if (r < 0)
- return r;
+ process_dir(u, *p, t, ".wants", UNIT_WANTS, NULL);
+ process_dir(u, *p, t, ".requires", UNIT_REQUIRES, NULL);
}
}
@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) {
return 0;
STRV_FOREACH(f, u->dropin_paths) {
- r = config_parse(u->id, *f, NULL,
- UNIT_VTABLE(u)->sections, config_item_perf_lookup,
- (void*) load_fragment_gperf_lookup, false, false, u);
- if (r < 0)
- return r;
+ config_parse(u->id, *f, NULL,
+ UNIT_VTABLE(u)->sections, config_item_perf_lookup,
+ (void*) load_fragment_gperf_lookup, false, false, u);
}
u->dropin_mtime = now(CLOCK_REALTIME);
--
1.7.9.2

View File

@ -0,0 +1,30 @@
From 640ace4a8de907994a1b95f6d368c3e6a8fcf60f Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Thu, 22 May 2014 16:56:21 +0900
Subject: [PATCH] socket: properly handle if our service vanished during
runtime
---
src/core/socket.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git src/core/socket.c src/core/socket.c
index 05af8fe..aca20fd 100644
--- src/core/socket.c
+++ src/core/socket.c
@@ -1503,6 +1503,12 @@ static void socket_enter_running(Socket *s, int cfd) {
}
if (!pending) {
+ if (!UNIT_ISSET(s->service)) {
+ log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
+ r = -ENOENT;
+ goto fail;
+ }
+
r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
if (r < 0)
goto fail;
--
1.7.9.2

View File

@ -0,0 +1,27 @@
From 49804365ea1242456c9763058a59cf68479e07ea Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Mon, 26 May 2014 09:30:21 +0800
Subject: [PATCH] udev: keyboard - also hook into "change" events
Re-apply the keymaps when "udevadm trigger" is called. Hooking into
"add" only would just remove all keymap content from the udev database
instead of applying the new config.
---
rules/60-keyboard.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git rules/60-keyboard.rules rules/60-keyboard.rules
index 4e0f366..22f71e7 100644
--- rules/60-keyboard.rules
+++ rules/60-keyboard.rules
@@ -1,6 +1,6 @@
# do not edit this file, it will be overwritten on update
-ACTION!="add", GOTO="keyboard_end"
+ACTION=="remove", GOTO="keyboard_end"
KERNEL!="event*", GOTO="keyboard_end"
ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end"
--
1.7.9.2

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Tue May 27 07:23:47 UTC 2014 - werner@suse.de
- Add upstream patches
0001-Do-not-unescape-unit-names-in-Install-section.patch
0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
-------------------------------------------------------------------
Mon May 26 16:34:10 UTC 2014 - werner@suse.de
- Add upstream patch
1020-udev-keyboard-also-hook-into-change-events.patch
-------------------------------------------------------------------
Mon May 26 15:25:28 UTC 2014 - werner@suse.de
- Add upstream patches to update keyboard data base
0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
- Add upstream patches
0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
0002-nspawn-restore-journal-directory-is-empty-check.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0004-socket-properly-handle-if-our-service-vanished-durin.patch
-------------------------------------------------------------------
Wed May 21 19:23:32 UTC 2014 - coolo@suse.com

View File

@ -495,6 +495,22 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
# PATCHFIX-UPSTREAM added at 2014/05/21
Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch
# PATCHFIX-UPSTREAM added at 2014/05/27
Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch
# PATCHFIX-UPSTREAM added at 2014/05/27
Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
# UDEV PATCHES
# ============
@ -540,6 +556,8 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -940,6 +958,14 @@ cp %{SOURCE7} m4/
%patch251 -p0
%patch252 -p0
%patch253 -p0
%patch254 -p0
%patch255 -p0
%patch256 -p0
%patch257 -p0
%patch258 -p0
%patch259 -p0
%patch260 -p0
%patch261 -p0
# udev patches
%patch1001 -p1
@ -962,6 +988,7 @@ cp %{SOURCE7} m4/
%patch1017 -p0
%patch1018 -p0
%patch1019 -p0
%patch1020 -p0
# ensure generate files are removed
rm -f units/emergency.service

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Tue May 27 07:23:47 UTC 2014 - werner@suse.de
- Add upstream patches
0001-Do-not-unescape-unit-names-in-Install-section.patch
0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
-------------------------------------------------------------------
Mon May 26 16:34:10 UTC 2014 - werner@suse.de
- Add upstream patch
1020-udev-keyboard-also-hook-into-change-events.patch
-------------------------------------------------------------------
Mon May 26 15:25:28 UTC 2014 - werner@suse.de
- Add upstream patches to update keyboard data base
0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
- Add upstream patches
0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
0002-nspawn-restore-journal-directory-is-empty-check.patch
0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
0004-socket-properly-handle-if-our-service-vanished-durin.patch
-------------------------------------------------------------------
Wed May 21 19:23:32 UTC 2014 - coolo@suse.com

View File

@ -490,6 +490,22 @@ Patch251: 0001-journal-cleanup-up-error-handling-in-update_catalog.patch
Patch252: 0002-journal-properly-detect-language-specified-in-line.patch
# PATCHFIX-UPSTREAM added at 2014/05/21
Patch253: 0003-man-mention-XDG_CONFIG_HOME-in-systemd.unit.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch254: 0001-keymap-Add-Lenovo-Enhanced-USB-Keyboard.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch255: 0002-keymap-Asus-EeePC-touchpad-toggle-key.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch256: 0001-nspawn-allow-to-bind-mount-journal-on-top-of-a-non-e.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch257: 0002-nspawn-restore-journal-directory-is-empty-check.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch258: 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch259: 0004-socket-properly-handle-if-our-service-vanished-durin.patch
# PATCHFIX-UPSTREAM added at 2014/05/27
Patch260: 0001-Do-not-unescape-unit-names-in-Install-section.patch
# PATCHFIX-UPSTREAM added at 2014/05/27
Patch261: 0002-analyze-run-use-bus_open_transport_systemd-instead-o.patch
# UDEV PATCHES
# ============
@ -535,6 +551,8 @@ Patch1017: 1017-udev-serialize-synchronize-block-device-event-handli.patch
Patch1018: 1018-udev-do-not-skip-the-execution-of-RUN-when-renaming-.patch
# PATCH-FIX-UPSTREAM added at 2014/05/20
Patch1019: 1019-udev-avoid-use-of-uninitialized-err.patch
# PATCHFIX-UPSTREAM added at 2014/05/26
Patch1020: 1020-udev-keyboard-also-hook-into-change-events.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -935,6 +953,14 @@ cp %{SOURCE7} m4/
%patch251 -p0
%patch252 -p0
%patch253 -p0
%patch254 -p0
%patch255 -p0
%patch256 -p0
%patch257 -p0
%patch258 -p0
%patch259 -p0
%patch260 -p0
%patch261 -p0
# udev patches
%patch1001 -p1
@ -957,6 +983,7 @@ cp %{SOURCE7} m4/
%patch1017 -p0
%patch1018 -p0
%patch1019 -p0
%patch1020 -p0
# ensure generate files are removed
rm -f units/emergency.service