From 149d911584146ae81a5a9b4bc9fe7599d5747518 Mon Sep 17 00:00:00 2001 From: Sung-Jin Park Date: Fri, 3 May 2019 19:29:10 +0900 Subject: [PATCH] server/client/packaging: change socket_name to wayland-0 from headless-0, fix pepper-doctor/headless packages Change-Id: I534b34fae2636dbf5e441af35e2f450628afc1fc Signed-off-by: Sung-Jin Park --- .../headless/units/display-manager-ready.path | 6 ---- .../units/display-manager-ready.service | 13 -------- data/headless/units/display-manager.env | 3 -- data/headless/units/display-user.service | 7 ---- data/headless/units/display_env.sh | 8 ----- .../units/display-manager-ready.path | 0 .../units/display-manager-ready.service | 0 data/{doctor => }/units/display-manager.env | 0 .../display-manager.service.doctor} | 0 .../display-manager.service.headless} | 0 data/{doctor => }/units/display-user.service | 0 data/{doctor => }/units/display_env.sh | 0 packaging/pepper.spec | 32 +++++++++++-------- src/bin/headless/headless_server.c | 2 +- src/samples/headless_client.c | 11 +++++-- 15 files changed, 27 insertions(+), 55 deletions(-) delete mode 100644 data/headless/units/display-manager-ready.path delete mode 100644 data/headless/units/display-manager-ready.service delete mode 100644 data/headless/units/display-manager.env delete mode 100644 data/headless/units/display-user.service delete mode 100644 data/headless/units/display_env.sh rename data/{doctor => }/units/display-manager-ready.path (100%) rename data/{doctor => }/units/display-manager-ready.service (100%) rename data/{doctor => }/units/display-manager.env (100%) rename data/{doctor/units/display-manager.service => units/display-manager.service.doctor} (100%) rename data/{headless/units/display-manager.service => units/display-manager.service.headless} (100%) rename data/{doctor => }/units/display-user.service (100%) rename data/{doctor => }/units/display_env.sh (100%) diff --git a/data/headless/units/display-manager-ready.path b/data/headless/units/display-manager-ready.path deleted file mode 100644 index bbbe8fb..0000000 --- a/data/headless/units/display-manager-ready.path +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=Path activation for display manager ready service -After=tmp.mount display-manager.service - -[Path] -PathExists=/run/headless-0 diff --git a/data/headless/units/display-manager-ready.service b/data/headless/units/display-manager-ready.service deleted file mode 100644 index 43779e3..0000000 --- a/data/headless/units/display-manager-ready.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Headless Display Manager Ready Service -After=tmp.mount display-manager.service - -[Service] -Type=oneshot -EnvironmentFile=/etc/sysconfig/display-manager.env -SmackProcessLabel=System -ExecStart=/usr/bin/sh -c "while [ ! -e /run/headless-0 ] ; do /usr/bin/sleep .1 ; done ;/bin/chown -f root:display /run/headless-0;/bin/chmod 775 /run/headless-0" -ExecStartPost=/usr/bin/sh -c "/usr/bin/touch /run/.wm_ready" - -[Install] -WantedBy=graphical.target diff --git a/data/headless/units/display-manager.env b/data/headless/units/display-manager.env deleted file mode 100644 index 2c356e3..0000000 --- a/data/headless/units/display-manager.env +++ /dev/null @@ -1,3 +0,0 @@ -TBM_DISPLAY_SERVER=1 -WAYLAND_DISPLAY="headless-0" -XDG_RUNTIME_DIR=/run diff --git a/data/headless/units/display-user.service b/data/headless/units/display-user.service deleted file mode 100644 index 9c55463..0000000 --- a/data/headless/units/display-user.service +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] -Description=Creating a link file for user to access display manager socket -DefaultDependencies=no - -[Service] -Type=oneshot -ExecStart=/usr/bin/sh -c "while [ ! -e /run/headless-0 ] ; do /usr/bin/sleep .1 ; done ;/usr/bin/ln -sf /run/headless-0 /run/user/%U/" diff --git a/data/headless/units/display_env.sh b/data/headless/units/display_env.sh deleted file mode 100644 index 56a32a9..0000000 --- a/data/headless/units/display_env.sh +++ /dev/null @@ -1,8 +0,0 @@ -if [ "$USER" == "root" ]; then - export XDG_RUNTIME_DIR=/run -else - export XDG_RUNTIME_DIR=/run/user/$UID -fi -if [ "$WAYALND_DISPLAY" = "" ]; then - export WAYLAND_DISPLAY=headless-0 -fi diff --git a/data/doctor/units/display-manager-ready.path b/data/units/display-manager-ready.path similarity index 100% rename from data/doctor/units/display-manager-ready.path rename to data/units/display-manager-ready.path diff --git a/data/doctor/units/display-manager-ready.service b/data/units/display-manager-ready.service similarity index 100% rename from data/doctor/units/display-manager-ready.service rename to data/units/display-manager-ready.service diff --git a/data/doctor/units/display-manager.env b/data/units/display-manager.env similarity index 100% rename from data/doctor/units/display-manager.env rename to data/units/display-manager.env diff --git a/data/doctor/units/display-manager.service b/data/units/display-manager.service.doctor similarity index 100% rename from data/doctor/units/display-manager.service rename to data/units/display-manager.service.doctor diff --git a/data/headless/units/display-manager.service b/data/units/display-manager.service.headless similarity index 100% rename from data/headless/units/display-manager.service rename to data/units/display-manager.service.headless diff --git a/data/doctor/units/display-user.service b/data/units/display-user.service similarity index 100% rename from data/doctor/units/display-user.service rename to data/units/display-user.service diff --git a/data/doctor/units/display_env.sh b/data/units/display_env.sh similarity index 100% rename from data/doctor/units/display_env.sh rename to data/units/display_env.sh diff --git a/packaging/pepper.spec b/packaging/pepper.spec index eec2882..c1bce7f 100644 --- a/packaging/pepper.spec +++ b/packaging/pepper.spec @@ -297,25 +297,20 @@ make %{?_smp_mflags} # install system session services %__mkdir_p %{buildroot}%{_unitdir} -install -m 644 data/doctor/units/display-manager.service %{buildroot}%{_unitdir} -install -m 644 data/doctor/units/display-manager-ready.path %{buildroot}%{_unitdir} -install -m 644 data/doctor/units/display-manager-ready.service %{buildroot}%{_unitdir} -install -m 644 data/headless/units/display-manager.service %{buildroot}%{_unitdir} -install -m 644 data/headless/units/display-manager-ready.path %{buildroot}%{_unitdir} -install -m 644 data/headless/units/display-manager-ready.service %{buildroot}%{_unitdir} +install -m 644 data/units/display-manager.service.doctor %{buildroot}%{_unitdir} +install -m 644 data/units/display-manager.service.headless %{buildroot}%{_unitdir} +install -m 644 data/units/display-manager-ready.path %{buildroot}%{_unitdir} +install -m 644 data/units/display-manager-ready.service %{buildroot}%{_unitdir} # install user session service %__mkdir_p %{buildroot}%{_unitdir_user} -install -m 644 data/doctor/units/display-user.service %{buildroot}%{_unitdir_user} -install -m 644 data/headless/units/display-user.service %{buildroot}%{_unitdir_user} +install -m 644 data/units/display-user.service %{buildroot}%{_unitdir_user} # install env file and scripts for service %__mkdir_p %{buildroot}%{_sysconfdir}/sysconfig -install -m 0644 data/doctor/units/display-manager.env %{buildroot}%{_sysconfdir}/sysconfig -install -m 0644 data/headless/units/display-manager.env %{buildroot}%{_sysconfdir}/sysconfig +install -m 0644 data/units/display-manager.env %{buildroot}%{_sysconfdir}/sysconfig %__mkdir_p %{buildroot}%{_sysconfdir}/profile.d -install -m 0644 data/doctor/units/display_env.sh %{buildroot}%{_sysconfdir}/profile.d -install -m 0644 data/headless/units/display_env.sh %{buildroot}%{_sysconfdir}/profile.d +install -m 0644 data/units/display_env.sh %{buildroot}%{_sysconfdir}/profile.d %post -n %{name} -p /sbin/ldconfig %postun -n %{name} -p /sbin/ldconfig @@ -356,6 +351,14 @@ getent group %{display_group} >/dev/null || %{_sbindir}/groupadd -r -o %{display # create user 'display' getent passwd %{display_user} >/dev/null || %{_sbindir}/useradd -r -g %{display_group} -d /run/display -s /bin/false -c "Display" %{display_user} +# create links within systemd's target(s) +%__mkdir_p %{_unitdir}/graphical.target.wants/ +%__mkdir_p %{_unitdir_user}/basic.target.wants/ +mv -f %{_unitdir}/display-manager.service.doctor %{_unitdir}/display-manager.service +ln -sf ../display-manager.service %{_unitdir}/graphical.target.wants/ +ln -sf ../display-manager-ready.service %{_unitdir}/graphical.target.wants/ +ln -sf ../display-user.service %{_unitdir_user}/basic.target.wants/ + %pre headless # create groups 'display' getent group %{display_group} >/dev/null || %{_sbindir}/groupadd -r -o %{display_group} @@ -365,6 +368,7 @@ getent passwd %{display_user} >/dev/null || %{_sbindir}/useradd -r -g %{display_ # create links within systemd's target(s) %__mkdir_p %{_unitdir}/graphical.target.wants/ %__mkdir_p %{_unitdir_user}/basic.target.wants/ +mv -f %{_unitdir}/display-manager.service.headless %{_unitdir}/display-manager.service ln -sf ../display-manager.service %{_unitdir}/graphical.target.wants/ ln -sf ../display-manager-ready.service %{_unitdir}/graphical.target.wants/ ln -sf ../display-user.service %{_unitdir_user}/basic.target.wants/ @@ -567,7 +571,7 @@ rm -f %{_unitdir_user}/basic.target.wants/display-user.service %{_bindir}/doctor* %{_unitdir}/display-manager-ready.path %{_unitdir}/display-manager-ready.service -%{_unitdir}//display-manager.service +%{_unitdir}/display-manager.service.doctor %{_unitdir_user}/display-user.service %config %{_sysconfdir}/sysconfig/display-manager.env %config %{_sysconfdir}/profile.d/display_env.sh @@ -579,7 +583,7 @@ rm -f %{_unitdir_user}/basic.target.wants/display-user.service %{_bindir}/headless* %{_unitdir}/display-manager-ready.path %{_unitdir}/display-manager-ready.service -%{_unitdir}/display-manager.service +%{_unitdir}/display-manager.service.headless %{_unitdir_user}/display-user.service %config %{_sysconfdir}/sysconfig/display-manager.env %config %{_sysconfdir}/profile.d/display_env.sh diff --git a/src/bin/headless/headless_server.c b/src/bin/headless/headless_server.c index 976ffac..199ee7d 100644 --- a/src/bin/headless/headless_server.c +++ b/src/bin/headless/headless_server.c @@ -39,7 +39,7 @@ int main(int argc, char *argv[]) socket_name = getenv("WAYLAND_DISPLAY"); if (!socket_name) - socket_name = "headless-0"; + socket_name = "wayland-0"; if (!getenv("XDG_RUNTIME_DIR")) setenv("XDG_RUNTIME_DIR", "/run", 1); diff --git a/src/samples/headless_client.c b/src/samples/headless_client.c index 96972df..36e7550 100644 --- a/src/samples/headless_client.c +++ b/src/samples/headless_client.c @@ -6,7 +6,6 @@ #include #include -#define DISPLAY_NAME "headless-0" #define MAX_STR 1024 #define DEBUG @@ -509,6 +508,7 @@ int main(int argc, char **argv) { int x, y, w, h; app_data_t *client = NULL; + const char *socket_name = NULL; Eina_Bool focus_skip = EINA_FALSE; setvbuf(stdout, NULL, _IONBF, 0); @@ -517,6 +517,11 @@ int main(int argc, char **argv) if (getenv("HEADLESS_SKIP_FOCUS")) focus_skip = EINA_TRUE; + socket_name = getenv("WAYLAND_DISPLAY"); + + if (!socket_name) + socket_name = "wayland-0"; + client = (app_data_t *)calloc(1, sizeof(app_data_t)); ERROR_CHECK(client, goto shutdown, "Failed to allocate memory for app_data_t"); @@ -526,8 +531,8 @@ int main(int argc, char **argv) goto shutdown; } - client->ewd = ecore_wl2_display_connect(DISPLAY_NAME); - ERROR_CHECK(client->ewd, goto shutdown, "Failed to connect to wayland display %s", DISPLAY_NAME); + client->ewd = ecore_wl2_display_connect(socket_name); + ERROR_CHECK(client->ewd, goto shutdown, "Failed to connect to wayland display %s", socket_name); client->wl_tbm_client = wayland_tbm_client_init(ecore_wl2_display_get(client->ewd)); ERROR_CHECK(client->wl_tbm_client, goto shutdown, "Failed to init wayland_tbm_client"); -- 2.34.1