summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd/systemd-187.ebuild')
-rw-r--r--sys-apps/systemd/systemd-187.ebuild183
1 files changed, 183 insertions, 0 deletions
diff --git a/sys-apps/systemd/systemd-187.ebuild b/sys-apps/systemd/systemd-187.ebuild
new file mode 100644
index 000000000000..b8a70a674bd0
--- /dev/null
+++ b/sys-apps/systemd/systemd-187.ebuild
@@ -0,0 +1,183 @@
+# 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-187.ebuild,v 1.1 2012/08/06 16:30:11 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 doc gudev introspection lzma pam selinux tcpd"
+
+# We need to depend on sysvinit for sulogin which is used in the rescue
+# mode. Bug #399615.
+
+MINKV="2.6.39"
+
+COMMON_DEPEND=">=sys-apps/dbus-1.4.10
+ >=sys-apps/kmod-5
+ >=sys-apps/util-linux-2.20
+ sys-libs/libcap
+ acl? ( sys-apps/acl )
+ audit? ( >=sys-process/audit-2 )
+ cryptsetup? ( >=sys-fs/cryptsetup-1.4.2 )
+ gudev? ( dev-libs/glib:2 )
+ introspection? ( dev-libs/gobject-introspection )
+ lzma? ( app-arch/xz-utils )
+ pam? ( virtual/pam )
+ selinux? ( sys-libs/libselinux )
+ tcpd? ( sys-apps/tcp-wrappers )"
+
+# sysvinit for sulogin
+# udev is bundled
+# udev-init-scripts not to break systems running openrc
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hwids
+ sys-apps/sysvinit
+ >=sys-fs/udev-init-scripts-14
+ !sys-fs/udev
+ !<sys-libs/glibc-2.10"
+DEPEND="${COMMON_RDEPEND}
+ app-arch/xz-utils
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/gperf
+ dev-util/intltool
+ >=sys-kernel/linux-headers-${MINKV}
+ doc? ( dev-util/gtk-doc )"
+
+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
+
+ # change rules back to group uucp instead of dialout for now
+ sed -e '/GROUP=/s:dialout:uucp:' \
+ -i rules/*.rules || die
+
+ local PATCHES=(
+ "${FILESDIR}"/0001-udev-add-lib-udev-rules.d-to-rules-directories.patch
+ )
+
+ autotools-utils_src_prepare
+}
+
+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
+ # firmware search path
+ --with-firmware-path=/usr/lib/firmware/updates:/usr/lib/firmware:/lib/firmware/updates:/lib/firmware
+ # make sure we get /bin:/sbin in $PATH
+ --enable-split-usr
+ $(use_enable acl)
+ $(use_enable audit)
+ $(use_enable cryptsetup libcryptsetup)
+ $(use_enable doc gtk-doc)
+ $(use_enable gudev)
+ $(use_enable introspection)
+ $(use_enable lzma xz)
+ $(use_enable pam)
+ $(use_enable selinux)
+ $(use_enable tcpd tcpwrap)
+ )
+
+ 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.
+ insinto /usr/lib/tmpfiles.d
+ doins "${FILESDIR}"/gentoo-run.conf
+
+ # Gentoo rules for udev.
+ insinto /usr/lib/udev/rules.d
+ doins "${FILESDIR}"/40-gentoo.rules
+}
+
+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."
+}