From b6eb6876a63a430f159e07cba75d1e7f1ebc323c Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 27 Oct 2013 09:25:13 +0100 Subject: [PATCH] systemd: split libgudev{,-devel} and system-python to libgudev pkg. This way the systemd pkg (providing systemd and udev) does not glib nor gobject-introspection and drops lots of external dependencies for a core pkg. --- srcpkgs/libgudev-devel | 2 +- srcpkgs/{libudev => libgudev}/patches | 0 srcpkgs/libgudev/template | 42 +++++++++++++++ srcpkgs/{libgudev => libudev} | 0 srcpkgs/libudev-devel | 2 +- srcpkgs/libudev/template | 76 -------------------------- srcpkgs/systemd-devel | 2 +- srcpkgs/systemd-libs | 2 +- srcpkgs/systemd-python | 2 +- srcpkgs/systemd/template | 78 ++++++++++++--------------- 10 files changed, 80 insertions(+), 126 deletions(-) rename srcpkgs/{libudev => libgudev}/patches (100%) create mode 100644 srcpkgs/libgudev/template rename srcpkgs/{libgudev => libudev} (100%) delete mode 100644 srcpkgs/libudev/template diff --git a/srcpkgs/libgudev-devel b/srcpkgs/libgudev-devel index 1514658181..5bd48a4071 120000 --- a/srcpkgs/libgudev-devel +++ b/srcpkgs/libgudev-devel @@ -1 +1 @@ -systemd \ No newline at end of file +libgudev \ No newline at end of file diff --git a/srcpkgs/libudev/patches b/srcpkgs/libgudev/patches similarity index 100% rename from srcpkgs/libudev/patches rename to srcpkgs/libgudev/patches diff --git a/srcpkgs/libgudev/template b/srcpkgs/libgudev/template new file mode 100644 index 0000000000..4728619d3e --- /dev/null +++ b/srcpkgs/libgudev/template @@ -0,0 +1,42 @@ +# Template file for 'libgudev' + +. ${XBPS_SRCPKGDIR}/systemd/template +unset -f systemd_package systemd-libs_package systemd-devel_package +unset -f libudev_package libudev-devel_package post_install + +pkgname=libgudev +wrksrc="systemd-${version}" +configure_args+=" --enable-gudev --with-python --enable-introspection" +short_desc="GUdev shared library" + +hostmakedepends+=" gobject-introspection" +makedepends+=" libglib-devel python-devel" + +libgudev_package() { + short_desc="GObject-based wrapper library for libudev" + depends="libudev>=${version}" + pkg_install() { + vmove "usr/lib/libgudev*.so.*" + vmove usr/lib/girepository-1.0 + } +} + +libgudev-devel_package() { + depends="libglib-devel libudev-devel libgudev>=${version}_${revision}" + short_desc="GObject-based wrapper library for libudev - development files" + pkg_install() { + vmove usr/include/gudev-1.0 + vmove "usr/lib/libgudev*.so" + vmove "usr/lib/pkgconfig/gudev*" + vmove usr/share/gir-1.0 + } +} + +systemd-python_package() { + short_desc="systemd python bindings" + depends="systemd-libs>=${version}_${revision}" + pycompile_module="systemd" + pkg_install() { + vmove "usr/lib/python*" + } +} diff --git a/srcpkgs/libgudev b/srcpkgs/libudev similarity index 100% rename from srcpkgs/libgudev rename to srcpkgs/libudev diff --git a/srcpkgs/libudev-devel b/srcpkgs/libudev-devel index 32f7973021..1514658181 120000 --- a/srcpkgs/libudev-devel +++ b/srcpkgs/libudev-devel @@ -1 +1 @@ -libudev \ No newline at end of file +systemd \ No newline at end of file diff --git a/srcpkgs/libudev/template b/srcpkgs/libudev/template deleted file mode 100644 index f7485ffed8..0000000000 --- a/srcpkgs/libudev/template +++ /dev/null @@ -1,76 +0,0 @@ -# Template file for 'libudev' -pkgname=libudev -version=208 -revision=1 -wrksrc="systemd-${version}" -build_style=gnu-configure -configure_args="--libexecdir=/usr/lib --disable-selinux - --disable-static --disable-ima --enable-introspection=no - --disable-kmod --disable-blkid --disable-chkconfig --disable-backlight - --disable-selinux --disable-tcpwrap --disable-pam --disable-tmpfiles - --disable-acl --disable-xattr --disable-audit --disable-machined - --disable-libcryptsetup --disable-qrencode --disable-microhttpd - --disable-binfmt --disable-vconsole --disable-readahead --disable-bootchart - --disable-quotacheck --disable-randomseed --disable-hostnamed - --disable-timedated --disable-localed --disable-coredump - --disable-myhostname --disable-gudev --disable-keymap --without-python - --disable-efi --disable-polkit --with-sysvinit-path= --with-sysvrcnd-path= - --with-rc-local-script-path-start= --with-rc-local-script-path-stop=" -short_desc="udev shared library" -maintainer="Juan RP " -homepage="http://www.freedesktop.org/wiki/Software/systemd" -license="LGPL-2.1, GPL-2, MIT" -distfiles="http://www.freedesktop.org/software/systemd/systemd-${version}.tar.xz" -checksum=aa64fa864466fd5727005c55d61c092828b94b4f857272c0b503695022146390 - -hostmakedepends="pkg-config automake gettext-devel intltool gperf libxslt - docbook-xsl libtool libgcrypt-devel" -makedepends="attr-devel dbus-devel>=1.6.10_2 libcap-devel liblzma-devel libgcrypt-devel" - -pre_configure() { - autoreconf -fi -} - -post_install() { - # We are only interested in shlibs, headers and pc files. - rm -rf ${DESTDIR}/{etc,var} - rm -rf ${DESTDIR}/usr/{bin,sbin} - rm -rf ${DESTDIR}/usr/lib/{udev,systemd,sysctl.d,tmpfiles.d} - rm -rf ${DESTDIR}/usr/share/{bash*,doc,polkit-1,dbus-1} -} - -libudev-devel_package() { - depends="libudev>=${version}_${revision}" - short_desc="udev shared library -- development files" - pkg_install() { - vmove usr/include/libudev.h - vmove usr/lib/pkgconfig/libudev.pc - vmove "usr/lib/libudev*.so" - } -} - -libudev_package() { - pkg_install() { - vmove "usr/lib/libudev.so.*" - } -} - -systemd-devel_package() { - depends="systemd-libs>=${version}_${revision}" - short_desc="systemd development files" - pkg_install() { - vmove usr/include - vmove usr/lib/pkgconfig - vmove "usr/lib/*.so" - vmove usr/share/man/man3 - vmove usr/share/pkgconfig - } -} - -systemd-libs_package() { - short_desc="systemd runtime libraries" - replaces="systemd<43_1" - pkg_install() { - vmove "usr/lib/libsystemd*.so.*" - } -} diff --git a/srcpkgs/systemd-devel b/srcpkgs/systemd-devel index 32f7973021..1514658181 120000 --- a/srcpkgs/systemd-devel +++ b/srcpkgs/systemd-devel @@ -1 +1 @@ -libudev \ No newline at end of file +systemd \ No newline at end of file diff --git a/srcpkgs/systemd-libs b/srcpkgs/systemd-libs index 32f7973021..1514658181 120000 --- a/srcpkgs/systemd-libs +++ b/srcpkgs/systemd-libs @@ -1 +1 @@ -libudev \ No newline at end of file +systemd \ No newline at end of file diff --git a/srcpkgs/systemd-python b/srcpkgs/systemd-python index 1514658181..5bd48a4071 120000 --- a/srcpkgs/systemd-python +++ b/srcpkgs/systemd-python @@ -1 +1 @@ -systemd \ No newline at end of file +libgudev \ No newline at end of file diff --git a/srcpkgs/systemd/template b/srcpkgs/systemd/template index e5c495805c..6d3ab68873 100644 --- a/srcpkgs/systemd/template +++ b/srcpkgs/systemd/template @@ -1,7 +1,7 @@ # Template file for 'systemd' pkgname=systemd version=208 -revision=2 +revision=3 short_desc="A system and service manager for Linux" maintainer="Juan RP " homepage="http://www.freedesktop.org/wiki/Software/systemd" @@ -13,24 +13,15 @@ build_style=gnu-configure configure_args="--libexecdir=/usr/lib --with-rootprefix=/usr --disable-selinux --with-sysvinit-path= --with-sysvrcnd-path= --with-rc-local-script-path-start= --with-rc-local-script-path-stop= - --disable-audit --disable-static --disable-ima" + --disable-audit --disable-static --disable-ima --disable-gudev + --disable-introspection --without-python" -hostmakedepends="which pkg-config intltool gperf libxslt docbook-xsl libtool" -makedepends="acl-devel pam-devel dbus-devel>=1.6.10_2 libcap-devel libkmod-devel - liblzma-devel cryptsetup-devel libblkid-devel libglib-devel libgcrypt-devel - systemd-devel>=${version} python-devel gobject-introspection" +configure_args+=" ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes" -if [ "$CROSS_BUILD" ]; then - # XXX add support to gudev, introspection and python. - makedepends="acl-devel pam-devel dbus-devel>=1.6.10_2 libcap-devel - libkmod-devel liblzma-devel cryptsetup-devel - libblkid-devel libgcrypt-devel libglib-devel - systemd-devel>=${version}" - configure_args+=" --without-python --disable-gudev - --enable-introspection=no - ac_cv_func_malloc_0_nonnull=yes - ac_cv_func_realloc_0_nonnull=yes" -fi +hostmakedepends="which pkg-config automake gettext-devel intltool gperf libxslt + docbook-xsl libtool libgcrypt-devel" +makedepends="acl-devel dbus-devel>=1.6.10_2 libcap-devel libkmod-devel + liblzma-devel cryptsetup-devel libblkid-devel libgcrypt-devel pam-devel" pre_configure() { libtoolize -f @@ -79,13 +70,6 @@ post_install() { # Remove useless doc directory. rm -rf ${DESTDIR}/usr/share/doc - # Remove files provided in libudev{,-devel} and systemd-{devel,libs}. - rm -rf ${DESTDIR}/usr/include/{libudev.h,systemd} - rm -rf ${DESTDIR}/usr/share/pkgconfig - rm -rf ${DESTDIR}/usr/share/man/man3 - rm -f ${DESTDIR}/usr/lib/lib{udev,systemd}* - rm -f ${DESTDIR}/usr/lib/pkgconfig/lib{udev,systemd}* - vinstall ${FILESDIR}/hostname 644 etc vinstall ${FILESDIR}/vconsole.conf 644 etc vinstall ${FILESDIR}/os-release 644 etc @@ -125,37 +109,42 @@ post_install() { sed -e 's,system-auth,login,g' -i ${DESTDIR}/etc/pam.d/systemd-user } -if [ -z "$CROSS_BUILD" ]; then - -libgudev_package() { - short_desc="GObject-based wrapper library for libudev" - depends="libudev>=${version}" +libudev-devel_package() { + depends="libudev>=${version}_${revision}" + short_desc+=" - udev library (development files)" pkg_install() { - vmove "usr/lib/libgudev*.so.*" - vmove usr/lib/girepository-1.0 + vmove usr/include/libudev.h + vmove usr/lib/pkgconfig/libudev.pc + vmove "usr/lib/libudev*.so" } } -libgudev-devel_package() { - depends="libglib-devel libudev-devel libgudev>=${version}" - short_desc="GObject-based wrapper library for libudev - development files" +libudev_package() { + short_desc+=" - udev library" pkg_install() { - vmove usr/include/gudev-1.0 - vmove "usr/lib/libgudev*.so" - vmove "usr/lib/pkgconfig/gudev*" - vmove usr/share/gir-1.0 + vmove "usr/lib/libudev.so.*" } } -systemd-python_package() { - short_desc+=" - python bindings" - pycompile_module="systemd" +systemd-devel_package() { + depends="systemd-libs>=${version}_${revision}" + short_desc+=" - development files" pkg_install() { - vmove "usr/lib/python*" + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + vmove usr/share/man/man3 + vmove usr/share/pkgconfig } } -fi # !CROSS_BUILD +systemd-libs_package() { + short_desc+=" - runtime libraries" + replaces="systemd<43_1" + pkg_install() { + vmove "usr/lib/libsystemd*.so.*" + } +} systemd_package() { # Create systemd-journal (gid 24) system group. @@ -171,8 +160,7 @@ systemd_package() { /etc/systemd/logind.conf /etc/systemd/bootchart.conf /etc/udev/udev.conf" - depends="xbps-triggers>=0.64 dbus kbd libcap-progs - libudev>=${version} systemd-libs>=${version} shadow" + depends="xbps-triggers>=0.64 dbus kbd libcap-progs shadow" pkg_install() { vmove all }