Skip to contentSkip to conversation

X initialization refactoring

PATCH New Jussi Kukkonen 1 participant 3 messages Nov 15, 2016

lore
Share & tools
lore
#0 lore raw

cover X initialization refactoring

This set has a companion set on meta-oe, neither set makes much sense without the other. Cover letters are identical. Please CC both lists if needed.

Current state:
* meta-oe and oe-core both provide xserver-nodm-init: the oe-core version should already do everything the meta-oe version does, but the meta-oe version gets selected by default because of layer priority.
* meta-oe and oe-core provide xserver-common and x11-common:
x11-common files are essentially a subset of xserver-common files.

Goals:
* Adding meta-oe to bblayers alone should not modify X initialization
* meta-oe and oe-core should not duplicate content without reason
* xserver startup should still be modifiable from other layers (just not implicitly)

What was done to achieve those goals:
* (oe-core) Removed old cruft from x11-common. What was left is Xsession and a few Xsession scripts.
* (oe-core) Merged what's left of x11-common into xserver-nodm-init
* (meta-oe) Removed xserver-nodm-init-2.0 as unneeded
* (meta-oe) No longer install files in xserver-common that oe-core xserver-nodm-init installs

xserver-common now has to be explicitly installed if it is wanted.

There are multiple ways to solve these issues: I'm prepared to try alternative approaches if needed. Testing results are appreciated as well.

Cheers,
Jussi

The following changes since commit 43e652f3d1fee5ce7fad67e6400315eab1b34270:

devtool: add "rename" subcommand (2016-11-07 11:04:22 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib jku/x-init-refactor
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/x-init-refactor

Jussi Kukkonen (2):
xserver-nodm-init: Bump PV to ensure upgrade from 2.0
x11-common: Merge into xserver-nodm-init

 meta/conf/distro/include/distro_alias.inc          |   1 -
 .../packagegroups/packagegroup-core-x11.bb         |   9 +-
 .../x11-common/x11-common/etc/X11/Xdefaults        |   3 -
 .../x11-common/etc/X11/Xsession.d/12keymap.sh      |   4 -
 .../x11-common/x11-common/etc/X11/default.xmodmap  | 260 ---------------
 .../x11-common/x11-common/gplv2-license.patch      | 355 ---------------------
 meta/recipes-graphics/x11-common/x11-common_0.1.bb |  22 --
 .../etc => xserver-nodm-init}/X11/Xsession         |   0
 .../X11/Xsession.d/13xdgbasedirs.sh                |   0
 .../X11/Xsession.d/89xdgautostart.sh               |   0
 .../X11/Xsession.d/90XWindowManager.sh             |   0
 ...erver-nodm-init.bb => xserver-nodm-init_3.0.bb} |   5 +
 12 files changed, 11 insertions(+), 648 deletions(-)
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common_0.1.bb
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/13xdgbasedirs.sh (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/89xdgautostart.sh (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/90XWindowManager.sh (100%)
 rename meta/recipes-graphics/x11-common/{xserver-nodm-init.bb => xserver-nodm-init_3.0.bb} (89%)
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/2 xserver-nodm-init: Bump PV to ensure upgrade from 2.0

meta-oe provides a 2.0 version of this recipe, but this one now does everything the meta-oe version does.

There's one exception though: xserver-common is not a runtime dependency. This needs to be added elsewhere for the platforms that require it.

---
 .../x11-common/{xserver-nodm-init.bb => xserver-nodm-init_3.0.bb}         | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename meta/recipes-graphics/x11-common/{xserver-nodm-init.bb => xserver-nodm-init_3.0.bb} (100%)
meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb renamed from meta/recipes-graphics/x11-common/xserver-nodm-init.bb +0 -0
similarity index 100%
rename from meta/recipes-graphics/x11-common/xserver-nodm-init.bb
rename to meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb
Signature · 1 line
2.1.4
#2 lore raw

PATCH 2/2 x11-common: Merge into xserver-nodm-init

Move the (non-factual) x utils dependencies from x11-common to x11 packagegroup.

Remove some obsolete configuration from x11-common:
* Xsession.d/12keymap.sh: commented out xmodmap call for kdrive
* default.xmodmap: xmodmap file used by 12keymap.sh
* Xdefaults: rxvt configuration

At this point x11-common is just /etc/X11/Xsession and three non-intrusive Xsession scripts: make these explicitly part of xserver-nodm-init. RCONFLICT with the versions of xserver-common that also provide these files.

VIRTUAL-RUNTIME_xserver_common is no longer a real abstraction but preserve the setting for backwards compatibility (if the variable is set to "xserver-common", the right thing still happens).

---
 meta/conf/distro/include/distro_alias.inc          |   1 -
 .../packagegroups/packagegroup-core-x11.bb         |   9 +-
 .../x11-common/x11-common/etc/X11/Xdefaults        |   3 -
 .../x11-common/etc/X11/Xsession.d/12keymap.sh      |   4 -
 .../x11-common/x11-common/etc/X11/default.xmodmap  | 260 ---------------
 .../x11-common/x11-common/gplv2-license.patch      | 355 ---------------------
 meta/recipes-graphics/x11-common/x11-common_0.1.bb |  22 --
 .../etc => xserver-nodm-init}/X11/Xsession         |   0
 .../X11/Xsession.d/13xdgbasedirs.sh                |   0
 .../X11/Xsession.d/89xdgautostart.sh               |   0
 .../X11/Xsession.d/90XWindowManager.sh             |   0
 .../x11-common/xserver-nodm-init_3.0.bb            |   5 +
 12 files changed, 11 insertions(+), 648 deletions(-)
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch
 delete mode 100644 meta/recipes-graphics/x11-common/x11-common_0.1.bb
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/13xdgbasedirs.sh (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/89xdgautostart.sh (100%)
 rename meta/recipes-graphics/x11-common/{x11-common/etc => xserver-nodm-init}/X11/Xsession.d/90XWindowManager.sh (100%)
meta/conf/distro/include/distro_alias.inc +0 -1
index 10efb09..a59265a 100644
@@ -400,7 +400,6 @@ DISTRO_PN_ALIAS_pn-weston = "Fedora=weston OpenSuSE=weston"
 DISTRO_PN_ALIAS_pn-weston-init = "OE-Core"
 DISTRO_PN_ALIAS_pn-which = "Mandriva=which Fedora=which"
 DISTRO_PN_ALIAS_pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
-DISTRO_PN_ALIAS_pn-x11-common = "OE-Core"
 DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
 DISTRO_PN_ALIAS_pn-xcb-util-image = "Debian=xcb-util Fedora=xcb-util"
 DISTRO_PN_ALIAS_pn-xcb-util-keysyms = "Debian=xcb-util Fedora=xcb-util"
meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb +6 -3
index 4291424..001db9e 100644
@@ -5,13 +5,12 @@
 PR = "r40"
 
 inherit packagegroup distro_features_check
-# rdepends on x11-common
 REQUIRED_DISTRO_FEATURES = "x11"
 
 PACKAGES = "${PN} ${PN}-utils"
 
-# xserver-common, x11-common
-VIRTUAL-RUNTIME_xserver_common ?= "x11-common"
+# backwards compatibility for xserver-common
+VIRTUAL-RUNTIME_xserver_common ?= ""
 
 # elsa, xserver-nodm-init
 VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init"
@@ -30,4 +29,8 @@ RDEPENDS_${PN}-utils = "\
     xhost \
     xset \
     xrandr \
+    xmodmap \
+    xdpyinfo \
+    xinput-calibrator \
+    dbus-x11 \
     "
meta/recipes-graphics/x11-common/x11-common/etc/X11/Xdefaults deleted +0 -3
deleted file mode 100644
index f5b69dd..0000000
@@ -1,3 +0,0 @@
-Rxvt*scrollBar_right: true
-Rxvt*font: xft:Mono:pixelsize=9
-
meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/12keymap.sh deleted +0 -4
deleted file mode 100644
index a9d102c..0000000
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# kdrive 1.4 does not have default keymap in server
-#xmodmap - </etc/X11/default.xmodmap
meta/recipes-graphics/x11-common/x11-common/etc/X11/default.xmodmap deleted +0 -260

260 lines not on this page · raw message

meta/recipes-graphics/x11-common/x11-common/gplv2-license.patch deleted +0 -355

355 lines not on this page · raw message

meta/recipes-graphics/x11-common/x11-common_0.1.bb deleted +0 -22
deleted file mode 100644
index ab9a939..0000000
@@ -1,22 +0,0 @@
-SUMMARY = "Common X11 scripts and configuration files"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SECTION = "x11"
-PR = "r47"
-
-inherit distro_features_check
-# rdepends on xdypinfo xmodmap xinit
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "file://etc \
-           file://gplv2-license.patch"
-
-S = "${WORKDIR}"
-
-do_install() {
-	cp -R ${S}/etc ${D}${sysconfdir}
-	chmod -R 755 ${D}${sysconfdir}
-}
-
-RDEPENDS_${PN} = "dbus-x11 xmodmap xdpyinfo xinput-calibrator formfactor"
-
meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession renamed from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession +0 -0
similarity index 100%
rename from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession
rename to meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession
meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh renamed from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/13xdgbasedirs.sh +0 -0
similarity index 100%
rename from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/13xdgbasedirs.sh
rename to meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/13xdgbasedirs.sh
meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh renamed from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/89xdgautostart.sh +0 -0
similarity index 100%
rename from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/89xdgautostart.sh
rename to meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/89xdgautostart.sh
meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh renamed from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/90XWindowManager.sh +0 -0
similarity index 100%
rename from meta/recipes-graphics/x11-common/x11-common/etc/X11/Xsession.d/90XWindowManager.sh
rename to meta/recipes-graphics/x11-common/xserver-nodm-init/X11/Xsession.d/90XWindowManager.sh
meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +5 -0
index a6d0d5e..62da118 100644
@@ -6,6 +6,7 @@ PR = "r31"
 
 SRC_URI = "file://xserver-nodm \
            file://Xserver \
+           file://X11 \
            file://gplv2-license.patch \
            file://xserver-nodm.service.in \
            file://xserver-nodm.conf.in \
@@ -29,6 +30,9 @@ do_install() {
     install xserver-nodm.conf.in ${D}${sysconfdir}/default/xserver-nodm
     install -d ${D}${sysconfdir}/xserver-nodm
     install Xserver ${D}${sysconfdir}/xserver-nodm/Xserver
+    install -d ${D}${sysconfdir}/X11/Xsession.d
+    install X11/Xsession.d/* ${D}${sysconfdir}/X11/Xsession.d/
+    install X11/Xsession ${D}${sysconfdir}/X11/
 
     BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}"
     if [ "${ROOTLESS_X}" = "1" ] ; then
@@ -59,3 +63,4 @@ INITSCRIPT_NAME = "xserver-nodm"
 INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ."
 SYSTEMD_SERVICE_${PN} = "xserver-nodm.service"
 
+RCONFLICTS_${PN} = "xserver-common (< 1.34-r9) x11-common"
Signature · 1 line
2.1.4