diff options
-rw-r--r-- | sys-apps/systemd/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/systemd/metadata.xml | 1 | ||||
-rw-r--r-- | sys-apps/systemd/systemd-193.ebuild | 194 |
3 files changed, 202 insertions, 1 deletions
diff --git a/sys-apps/systemd/ChangeLog b/sys-apps/systemd/ChangeLog index 12d420d43952..65faaba98fa1 100644 --- a/sys-apps/systemd/ChangeLog +++ b/sys-apps/systemd/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/systemd # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.53 2012/09/26 06:07:06 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.54 2012/09/30 22:20:03 mgorny Exp $ + +*systemd-193 (30 Sep 2012) + + 30 Sep 2012; Michał Górny <mgorny@gentoo.org> +systemd-193.ebuild, + metadata.xml: + Version bump. *systemd-192 (26 Sep 2012) diff --git a/sys-apps/systemd/metadata.xml b/sys-apps/systemd/metadata.xml index 74a2018ea9fc..3bc9e11ed324 100644 --- a/sys-apps/systemd/metadata.xml +++ b/sys-apps/systemd/metadata.xml @@ -10,6 +10,7 @@ <flag name='audit'>Enable support for <pkg>sys-process/audit</pkg></flag> <flag name='cryptsetup'>Use libcryptsetup</flag> <flag name='gcrypt'>Enable sealing of journal files using gcrypt</flag> + <flag name='http'>Enable embedded HTTP server in journald</flag> <flag name='qrcode'>Enable qrcode output support in journal</flag> </use> </pkgmetadata> diff --git a/sys-apps/systemd/systemd-193.ebuild b/sys-apps/systemd/systemd-193.ebuild new file mode 100644 index 000000000000..a413c0f3bde6 --- /dev/null +++ b/sys-apps/systemd/systemd-193.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-193.ebuild,v 1.1 2012/09/30 22:20:03 mgorny Exp $ + +EAPI=4 + +inherit autotools-utils bash-completion-r1 linux-info pam systemd user + +DESCRIPTION="System and service manager for Linux" +HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd" +SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz" + +LICENSE="GPL-2 LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="acl audit cryptsetup gcrypt http lzma pam qrcode selinux tcpd" + +MINKV="2.6.39" + +COMMON_DEPEND=">=sys-apps/dbus-1.4.10 + >=sys-apps/kmod-5 + >=sys-apps/util-linux-2.20 + ~sys-fs/udev-193 + sys-libs/libcap + acl? ( sys-apps/acl ) + audit? ( >=sys-process/audit-2 ) + cryptsetup? ( >=sys-fs/cryptsetup-1.4.2 ) + gcrypt? ( >=dev-libs/libgcrypt-1.4.5 ) + http? ( net-libs/libmicrohttpd ) + lzma? ( app-arch/xz-utils ) + pam? ( virtual/pam ) + qrcode? ( media-gfx/qrencode ) + selinux? ( sys-libs/libselinux ) + tcpd? ( sys-apps/tcp-wrappers )" + +RDEPEND="${COMMON_DEPEND} + sys-apps/hwids + || ( + >=sys-apps/util-linux-2.22 + <sys-apps/sysvinit-2.88-r4 + ) + !<sys-libs/glibc-2.10 + !~sys-fs/udev-187" + +# sys-fs/quota is necessary to store correct paths in unit files +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + dev-util/gperf + dev-util/intltool + sys-fs/quota + >=sys-kernel/linux-headers-${MINKV}" + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +pkg_setup() { + enewgroup lock # used by var-lock.mount + enewgroup tty 5 # used by mount-setup for /dev/pts +} + +src_prepare() { + # systemd-analyze is for python2.7 only nowadays. + sed -i -e '1s/python/&2.7/' src/analyze/systemd-analyze + + # link against external udev. + sed -i -e 's:libudev\.la:-ludev:' Makefile.am + + local PATCHES=( + "${FILESDIR}"/191-0001-Disable-udev-targets-for-udev-190.patch + ) + + autotools-utils_src_prepare + + # XXX: support it within eclass + eautomake +} + +src_configure() { + local myeconfargs=( + --localstatedir=/var + --with-distro=gentoo + # install everything to /usr + --with-rootprefix=/usr + --with-rootlibdir=/usr/$(get_libdir) + # but pam modules have to lie in /lib* + --with-pamlibdir=/$(get_libdir)/security + # this avoids dep on pciutils & usbutils + --with-pci-ids-path=/usr/share/misc/pci.ids + --with-usb-ids-path=/usr/share/misc/usb.ids + # make sure we get /bin:/sbin in $PATH + --enable-split-usr + # udev parts + --disable-introspection + --disable-gtk-doc + --disable-gudev + $(use_enable acl) + $(use_enable audit) + $(use_enable cryptsetup libcryptsetup) + $(use_enable gcrypt) + $(use_enable http microhttpd) + $(use_enable lzma xz) + $(use_enable pam) + $(use_enable qrcode qrencode) + $(use_enable selinux) + $(use_enable tcpd tcpwrap) + + # Disable Python for now. + PYTHON=: + ) + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install \ + bashcompletiondir=/tmp + + # compat for init= use + dosym ../usr/lib/systemd/systemd /bin/systemd + dosym ../lib/systemd/systemd /usr/bin/systemd + # rsyslog.service depends on it... + dosym ../usr/bin/systemctl /bin/systemctl + + # move files as necessary + newbashcomp "${D}"/tmp/systemd-bash-completion.sh ${PN} + rm -r "${D}"/tmp || die + + # we just keep sysvinit tools, so no need for the mans + rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \ + || die + rm "${D}"/usr/share/man/man1/init.1 || die + + # Create /run/lock as required by new baselay/OpenRC compat. + systemd_dotmpfilesd "${FILESDIR}"/gentoo-run.conf + + # Add mount-rules for /var/lock and /var/run, bug #433607 + systemd_dounit "${FILESDIR}"/var-{lock,run}.mount + systemd_enable_service sysinit.target var-lock.mount + systemd_enable_service sysinit.target var-run.mount + + # Check whether we won't break user's system. + [[ -x "${D}"/bin/systemd ]] || die '/bin/systemd symlink broken, aborting.' + [[ -x "${D}"/usr/bin/systemd ]] || die '/usr/bin/systemd symlink broken, aborting.' +} + +pkg_preinst() { + local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS ~DEVTMPFS + ~FANOTIFY ~HOTPLUG ~INOTIFY_USER ~IPV6 ~NET ~PROC_FS ~SIGNALFD + ~SYSFS ~!IDE ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2" + kernel_is -ge ${MINKV//./ } || ewarn "Kernel version at least ${MINKV} required" + check_extra_config +} + +optfeature() { + local i desc=${1} text + shift + + text=" [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1}" + shift + + for i; do + elog "${text}" + text="& [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1}" + done + elog "${text} (${desc})" +} + +pkg_postinst() { + mkdir -p "${ROOT}"/run || ewarn "Unable to mkdir /run, this could mean trouble." + if [[ ! -L "${ROOT}"/etc/mtab ]]; then + ewarn "Upstream suggests that the /etc/mtab file should be a symlink to /proc/mounts." + ewarn "It is known to cause users being unable to unmount user mounts. If you don't" + ewarn "require that specific feature, please call:" + ewarn " $ ln -sf '${ROOT}proc/self/mounts' '${ROOT}etc/mtab'" + ewarn + fi + + elog "To get additional features, a number of optional runtime dependencies may" + elog "be installed:" + optfeature 'for systemd-analyze' \ + 'dev-lang/python:2.7' 'dev-python/dbus-python' + optfeature 'for systemd-analyze plotting ability' \ + 'dev-python/pycairo[svg]' + optfeature 'for GTK+ systemadm UI and gnome-ask-password-agent' \ + 'sys-apps/systemd-ui' + elog + + ewarn "Please note this is a work-in-progress and many packages in Gentoo" + ewarn "do not supply systemd unit files yet. You are testing it on your own" + ewarn "responsibility. Please remember than you can pass:" + ewarn " init=/sbin/init" + ewarn "to your kernel to boot using sysvinit / OpenRC." +} |