Patchwork systemd: add a hard dependency on udev=$EXTENDPKGV

login
register
mail settings
Submitter Ross Burton
Date Feb. 6, 2014, 2:13 p.m.
Message ID <1391695992-29453-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/66381/
State New
Headers show

Comments

Ross Burton - Feb. 6, 2014, 2:13 p.m.
If the systemd/sysvinit DISTRO_FEATURES are changed without wiping the package
feeds it's possible to build an image that pulls in mismatching versions of
systemd and udev.  This leads to images that are broken and don't boot
correctly.

Prevent this by adding a version-locked dependency on udev in systemd so that
images that attempt to install mis-matching versions don't build.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-core/systemd/systemd_208.bb |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Henning Heinold - Feb. 6, 2014, 2:27 p.m.
On Thu, Feb 06, 2014 at 02:13:12PM +0000, Ross Burton wrote:
> If the systemd/sysvinit DISTRO_FEATURES are changed without wiping the package
> feeds it's possible to build an image that pulls in mismatching versions of
> systemd and udev.  This leads to images that are broken and don't boot
> correctly.
> 
> Prevent this by adding a version-locked dependency on udev in systemd so that
> images that attempt to install mis-matching versions don't build.
> 
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>  meta/recipes-core/systemd/systemd_208.bb |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_208.bb b/meta/recipes-core/systemd/systemd_208.bb
> index 41a106a..5ed31c3 100644
> --- a/meta/recipes-core/systemd/systemd_208.bb
> +++ b/meta/recipes-core/systemd/systemd_208.bb
> @@ -225,7 +225,7 @@ FILES_${PN} = " ${base_bindir}/* \
>  FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
>  FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
>  
> -RDEPENDS_${PN} += "kmod dbus util-linux-mount"
> +RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
>  
>  RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units \
>                        util-linux-agetty \

Hi Ross,

which package manager did you test to verify it is working as expected?

Bye Henning
Ross Burton - Feb. 6, 2014, 2:42 p.m.
On 6 February 2014 14:27, Henning Heinold
<henning@itconsulting-heinold.de> wrote:
> which package manager did you test to verify it is working as expected?

I haven't attempted to replicate the failure case (because it involves
quite a lot of building...) but the idiom of EXTENDPKGV is used in
every -dbg and -dev package.

Ross

Patch

diff --git a/meta/recipes-core/systemd/systemd_208.bb b/meta/recipes-core/systemd/systemd_208.bb
index 41a106a..5ed31c3 100644
--- a/meta/recipes-core/systemd/systemd_208.bb
+++ b/meta/recipes-core/systemd/systemd_208.bb
@@ -225,7 +225,7 @@  FILES_${PN} = " ${base_bindir}/* \
 FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
 FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
 
-RDEPENDS_${PN} += "kmod dbus util-linux-mount"
+RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
 
 RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units \
                       util-linux-agetty \