Patchwork systemd: added python-systemd package generation.

login
register
mail settings
Submitter Yevhen Kyriukha
Date April 5, 2013, 9:13 p.m.
Message ID <1365196380-1930-1-git-send-email-kirgene@gmail.com>
Download mbox | patch
Permalink /patch/47535/
State New
Headers show

Comments

Yevhen Kyriukha - April 5, 2013, 9:13 p.m.
---
 meta/recipes-core/systemd/systemd_199.bb |   21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)
Martin Jansa - April 5, 2013, 9:29 p.m.
On Sat, Apr 06, 2013 at 12:13:00AM +0300, Yevhen Kyriukha wrote:
> ---
>  meta/recipes-core/systemd/systemd_199.bb |   21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> index ba1d133..2a3d351 100644
> --- a/meta/recipes-core/systemd/systemd_199.bb
> +++ b/meta/recipes-core/systemd/systemd_199.bb
> @@ -10,12 +10,18 @@ PROVIDES = "udev"
>  
>  PE = "1"
>  
> -DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
> +DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0 python"
>  DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
>  
>  SECTION = "base/shell"
>  
> -inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d
> +inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d pythonnative python-dir
> +
> +# need to export these variables for python-config to work
> +export BUILD_SYS
> +export HOST_SYS
> +export STAGING_INCDIR
> +export STAGING_LIBDIR
>  
>  SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>             file://touchscreen.rules \
> @@ -63,9 +69,9 @@ EXTRA_OECONF = " --with-rootprefix=${base_prefix} \
>                   --disable-coredump \
>                   --disable-introspection \
>                   --disable-tcpwrap \
> +                 --with-python \
>                   --enable-split-usr \
>                   --disable-microhttpd \
> -                 --without-python \
>                   --with-sysvrcnd-path=${sysconfdir} \
>                   ac_cv_path_KILL=${base_bindir}/kill \
>                 "
> @@ -114,7 +120,7 @@ python populate_packages_prepend (){
>  }
>  PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
>  
> -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install"
> +PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install python-${PN} python-${PN}-dbg python-${PN}-staticdev"
>  
>  USERADD_PACKAGES = "${PN}"
>  GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
> @@ -124,6 +130,13 @@ FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>  FILES_${PN}-initramfs = "/init"
>  RDEPENDS_${PN}-initramfs = "${PN}"
>  
> +FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.py* ${PYTHON_SITEPACKAGES_DIR}/systemd/*.so"
> +RDEPENDS_python-${PN} = "python-core"
> +FILES_python-${PN}-staticdev = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.la"
> +RDEPENDS_python-${PN} = "python-core"
> +FILES_python-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/systemd/.debug"
> +RDEPENDS_python-${PN} = "python-core"

You have 3x RDEPENDS_python-${PN} (maybe you wanted -dbg and -staticdev,
but those do not need python-core imho).

It's more common to start with ${PN}, but maybe it makes sense with
python- prefix if you think about it as python module not systemd
package...

> +
>  FILES_${PN}-gui = "${bindir}/systemadm"
>  
>  FILES_${PN}-vconsole-setup = "${systemd_unitdir}/systemd-vconsole-setup \
> -- 
> 1.7.9.5
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Yevhen Kyriukha - April 5, 2013, 9:57 p.m.
2013/4/6 Martin Jansa <martin.jansa@gmail.com>
>
> On Sat, Apr 06, 2013 at 12:13:00AM +0300, Yevhen Kyriukha wrote:
> > ---
> >  meta/recipes-core/systemd/systemd_199.bb |   21 +++++++++++++++++----
> >  1 file changed, 17 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> > index ba1d133..2a3d351 100644
> > --- a/meta/recipes-core/systemd/systemd_199.bb
> > +++ b/meta/recipes-core/systemd/systemd_199.bb
> > @@ -10,12 +10,18 @@ PROVIDES = "udev"
> >
> >  PE = "1"
> >
> > -DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
> > +DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0 python"
> >  DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
> >
> >  SECTION = "base/shell"
> >
> > -inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d
> > +inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d pythonnative python-dir
> > +
> > +# need to export these variables for python-config to work
> > +export BUILD_SYS
> > +export HOST_SYS
> > +export STAGING_INCDIR
> > +export STAGING_LIBDIR
> >
> >  SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> >             file://touchscreen.rules \
> > @@ -63,9 +69,9 @@ EXTRA_OECONF = " --with-rootprefix=${base_prefix} \
> >                   --disable-coredump \
> >                   --disable-introspection \
> >                   --disable-tcpwrap \
> > +                 --with-python \
> >                   --enable-split-usr \
> >                   --disable-microhttpd \
> > -                 --without-python \
> >                   --with-sysvrcnd-path=${sysconfdir} \
> >                   ac_cv_path_KILL=${base_bindir}/kill \
> >                 "
> > @@ -114,7 +120,7 @@ python populate_packages_prepend (){
> >  }
> >  PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
> >
> > -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install"
> > +PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install python-${PN} python-${PN}-dbg python-${PN}-staticdev"
> >
> >  USERADD_PACKAGES = "${PN}"
> >  GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
> > @@ -124,6 +130,13 @@ FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
> >  FILES_${PN}-initramfs = "/init"
> >  RDEPENDS_${PN}-initramfs = "${PN}"
> >
> > +FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.py* ${PYTHON_SITEPACKAGES_DIR}/systemd/*.so"
> > +RDEPENDS_python-${PN} = "python-core"
> > +FILES_python-${PN}-staticdev = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.la"
> > +RDEPENDS_python-${PN} = "python-core"
> > +FILES_python-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/systemd/.debug"
> > +RDEPENDS_python-${PN} = "python-core"
>
> You have 3x RDEPENDS_python-${PN} (maybe you wanted -dbg and -staticdev,
> but those do not need python-core imho).
>
> It's more common to start with ${PN}, but maybe it makes sense with
> python- prefix if you think about it as python module not systemd
> package...
>
> > +
> >  FILES_${PN}-gui = "${bindir}/systemadm"
> >
> >  FILES_${PN}-vconsole-setup = "${systemd_unitdir}/systemd-vconsole-setup \
> > --
> > 1.7.9.5
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
> --
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com


> You have 3x RDEPENDS_python-${PN} (maybe you wanted -dbg and -staticdev,
> but those do not need python-core imho).

Yes, I meant -dbg and -staticdev. I don't know what to write in
RDEPENDS for these packages.

> It's more common to start with ${PN}, but maybe it makes sense with
> python- prefix if you think about it as python module not systemd
> package...

It's python package that is an interface to some systemd functionality
therefore I named it "python-systemd".

I'll send new version of this patch as I found some missing rdepends.

Regards,
Yevhen
Saul Wold - April 5, 2013, 10:08 p.m.
On 04/05/2013 02:29 PM, Martin Jansa wrote:
> On Sat, Apr 06, 2013 at 12:13:00AM +0300, Yevhen Kyriukha wrote:
>> ---
>>   meta/recipes-core/systemd/systemd_199.bb |   21 +++++++++++++++++----
>>   1 file changed, 17 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
>> index ba1d133..2a3d351 100644
>> --- a/meta/recipes-core/systemd/systemd_199.bb
>> +++ b/meta/recipes-core/systemd/systemd_199.bb
>> @@ -10,12 +10,18 @@ PROVIDES = "udev"
>>
>>   PE = "1"
>>
>> -DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
>> +DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0 python"
>>   DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
>>

I am going to defer this for 1.5, as it's a little late in the 1.4 cycle 
to make this kind of change.  I would also like you to consider making 
it a PACKAGECONFIG, instead of hard wiring it.

If someone wants to create a minimal system with systemd, they might not 
want to have python pulled in also, so making it more optional would be 
better.

Thanks
	Sau!


>>   SECTION = "base/shell"
>>
>> -inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d
>> +inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d pythonnative python-dir
>> +
>> +# need to export these variables for python-config to work
>> +export BUILD_SYS
>> +export HOST_SYS
>> +export STAGING_INCDIR
>> +export STAGING_LIBDIR
>>
>>   SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>>              file://touchscreen.rules \
>> @@ -63,9 +69,9 @@ EXTRA_OECONF = " --with-rootprefix=${base_prefix} \
>>                    --disable-coredump \
>>                    --disable-introspection \
>>                    --disable-tcpwrap \
>> +                 --with-python \
>>                    --enable-split-usr \
>>                    --disable-microhttpd \
>> -                 --without-python \
>>                    --with-sysvrcnd-path=${sysconfdir} \
>>                    ac_cv_path_KILL=${base_bindir}/kill \
>>                  "
>> @@ -114,7 +120,7 @@ python populate_packages_prepend (){
>>   }
>>   PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
>>
>> -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install"
>> +PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install python-${PN} python-${PN}-dbg python-${PN}-staticdev"
>>
>>   USERADD_PACKAGES = "${PN}"
>>   GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
>> @@ -124,6 +130,13 @@ FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
>>   FILES_${PN}-initramfs = "/init"
>>   RDEPENDS_${PN}-initramfs = "${PN}"
>>
>> +FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.py* ${PYTHON_SITEPACKAGES_DIR}/systemd/*.so"
>> +RDEPENDS_python-${PN} = "python-core"
>> +FILES_python-${PN}-staticdev = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.la"
>> +RDEPENDS_python-${PN} = "python-core"
>> +FILES_python-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/systemd/.debug"
>> +RDEPENDS_python-${PN} = "python-core"
>
> You have 3x RDEPENDS_python-${PN} (maybe you wanted -dbg and -staticdev,
> but those do not need python-core imho).
>
> It's more common to start with ${PN}, but maybe it makes sense with
> python- prefix if you think about it as python module not systemd
> package...
>
>> +
>>   FILES_${PN}-gui = "${bindir}/systemadm"
>>
>>   FILES_${PN}-vconsole-setup = "${systemd_unitdir}/systemd-vconsole-setup \
>> --
>> 1.7.9.5
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

Patch

diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
index ba1d133..2a3d351 100644
--- a/meta/recipes-core/systemd/systemd_199.bb
+++ b/meta/recipes-core/systemd/systemd_199.bb
@@ -10,12 +10,18 @@  PROVIDES = "udev"
 
 PE = "1"
 
-DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
+DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0 python"
 DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
 SECTION = "base/shell"
 
-inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d
+inherit gtk-doc useradd pkgconfig autotools perlnative update-rc.d pythonnative python-dir
+
+# need to export these variables for python-config to work
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
 
 SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
            file://touchscreen.rules \
@@ -63,9 +69,9 @@  EXTRA_OECONF = " --with-rootprefix=${base_prefix} \
                  --disable-coredump \
                  --disable-introspection \
                  --disable-tcpwrap \
+                 --with-python \
                  --enable-split-usr \
                  --disable-microhttpd \
-                 --without-python \
                  --with-sysvrcnd-path=${sysconfdir} \
                  ac_cv_path_KILL=${base_bindir}/kill \
                "
@@ -114,7 +120,7 @@  python populate_packages_prepend (){
 }
 PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd).*"
 
-PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install"
+PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install python-${PN} python-${PN}-dbg python-${PN}-staticdev"
 
 USERADD_PACKAGES = "${PN}"
 GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
@@ -124,6 +130,13 @@  FILES_${PN}-analyze = "${base_bindir}/systemd-analyze"
 FILES_${PN}-initramfs = "/init"
 RDEPENDS_${PN}-initramfs = "${PN}"
 
+FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.py* ${PYTHON_SITEPACKAGES_DIR}/systemd/*.so"
+RDEPENDS_python-${PN} = "python-core"
+FILES_python-${PN}-staticdev = "${PYTHON_SITEPACKAGES_DIR}/systemd/*.la"
+RDEPENDS_python-${PN} = "python-core"
+FILES_python-${PN}-dbg = "${PYTHON_SITEPACKAGES_DIR}/systemd/.debug"
+RDEPENDS_python-${PN} = "python-core"
+
 FILES_${PN}-gui = "${bindir}/systemadm"
 
 FILES_${PN}-vconsole-setup = "${systemd_unitdir}/systemd-vconsole-setup \