summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-apps/systemd/ChangeLog8
-rw-r--r--sys-apps/systemd/metadata.xml1
-rw-r--r--sys-apps/systemd/systemd-193.ebuild194
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."
+}