# ChangeLog for sys-apps/systemd
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.16 2011/12/12 08:17:37 mgorny Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/ChangeLog,v 1.17 2012/01/06 10:19:43 mgorny Exp $
+
+*systemd-37-r2 (06 Jan 2012)
+*systemd-29-r4 (06 Jan 2012)
+
+ 06 Jan 2012; Michał Górny <mgorny@gentoo.org> systemd-29-r3.ebuild,
+ +systemd-29-r4.ebuild, systemd-37-r1.ebuild, +systemd-37-r2.ebuild,
+ +files/update-etc-systemd-symlinks.path,
+ +files/update-etc-systemd-symlinks.service,
+ +files/update-etc-systemd-symlinks.sh:
+ Migrate to /usr.
*systemd-37-r1 (12 Dec 2011)
*systemd-29-r3 (12 Dec 2011)
Hash: SHA256
AUX gentoo-run.conf 226 RMD160 3bea7b3d3fe3b3589d8bfdeaf52112ab46a67e82 SHA1 521d0d3ff408905075f42b3b00ccc77da2355c6a SHA256 a23fa3b35b4e9d5f1c41dc77cb5be1cec492eb903a57472df3d93a053db28ca7
+AUX update-etc-systemd-symlinks.path 119 RMD160 b2512605a2313af9fca6b611a32b66e2c435577a SHA1 70ddad85c6981b9a0a81f1d0f84f4b039951c543 SHA256 4dbbe99fdc4b7922ad6fb4c6f39c975a4b139e04b04a65e3c79650b364fdc02a
+AUX update-etc-systemd-symlinks.service 165 RMD160 aab6eb2ff82ae82be72c12682fda2bc62d7b2e51 SHA1 6a766b8ef0a97290431756c8bbabf242447c632e SHA256 77f199392367cefc6d70110b955fb5f2ebafaf21ea8ca355b1863a44f130bf69
+AUX update-etc-systemd-symlinks.sh 451 RMD160 94066bbc526f108e2a3a49ad3b8dc52eb1ed4ad7 SHA1 9ad3fa9e5bef1b7d10a54101ddedb299d0f875a7 SHA256 1ed27cf8c2ca5ab862b9d935eec613d1a21ceb4cc363a4bfdac6430387e350df
DIST systemd-29.tar.bz2 810407 RMD160 49cf7906a768217190cdf61d102058b9c8762d40 SHA1 5dc36e8d900085af31a96a6bafaba228bc8225c7 SHA256 c41153c3ebab9e25b16fa1670946ce6dfdd1515608a37eedd80d2bbe46629971
DIST systemd-37.tar.bz2 931101 RMD160 d0b15083fe938039972f38a30c757ed8b10a5998 SHA1 02665bcb8c609193170579537c3a94013519405c SHA256 b38492bde73649cc3520953354ef446c268169c1d342614183655e9ee1a1bbc5
-EBUILD systemd-29-r3.ebuild 4090 RMD160 54a9ffd044e8a3d4ae2aa9fe914bade644a4d4da SHA1 8a5c817b08bc2c2247a5c0c071fa13dc73d42197 SHA256 1ccb73077ebfb92ad85a3a001fb00e2a1b69f41b95f2badc80a636fa6203c075
-EBUILD systemd-37-r1.ebuild 4107 RMD160 18a4a060af9b95cf9e9751f8ef456999f44293b9 SHA1 82f8a20e2fce1f6aedfd0cecd91eb410d9bd9614 SHA256 a75100d382b03e29e82a2fc9af1807e94af0f62fb1d74bbf53a4234ef89a72ec
-MISC ChangeLog 2962 RMD160 d9a4360dc9f70e8be717c30cbf348ae10ae75f89 SHA1 39e1a83513a9a242bab13987c3fb6fd9702fd224 SHA256 4f1ccf5046f0b4e1adfa4da5df8e45a3f7752c3ead6cec433c4786373e424c24
+EBUILD systemd-29-r3.ebuild 4156 RMD160 e8e2c538b561bc98b339d4c6db34ddde6b26b67e SHA1 11a01d9ea81b142b952e3e8490a1695965c0417c SHA256 1936747e42a9af19eb62b6ca62811d9e5df337afb8499b59056183f0c77090db
+EBUILD systemd-29-r4.ebuild 4924 RMD160 5208d5c5df8902273dbc9c4d953c1cb5470e2f06 SHA1 4ef93a1fa059b06153c169ee87521118eed5b9d9 SHA256 c1d2af99c2399b27544230871bc55d54f48ef6003703334973f898567ef0186e
+EBUILD systemd-37-r1.ebuild 4173 RMD160 9faa7b2ba5a70378b635aa76e542881ecdba9a0a SHA1 fc570db8a8a56e0c04b1a813e841711229f6f3e2 SHA256 105ad32ee8d080835d6a7648024f913b6eaee183a2daf022d56e1b367481f10e
+EBUILD systemd-37-r2.ebuild 4941 RMD160 0a98064af7b0805a8522008ab355eb3c603bd012 SHA1 633a4125dfe317341f0250bf699fe54781489698 SHA256 517ffd58ca6316a6382db8665c1cd13e66e292591f06b7998c115340194334c3
+MISC ChangeLog 3313 RMD160 573909e9ff5d2fc69116bbaaff2990de607fb95e SHA1 6dd2d5a13039e963af6d3508542a1216244dedc9 SHA256 4dc75bfa206ae9841e9be2be092d896c8c3420ce5e634b5bdd503ebc6f00537b
MISC metadata.xml 502 RMD160 1cbf039eefa26495068305b7a3ef801b04904561 SHA1 70e619acb0be857af4f668555b5405b1c0fa8d2b SHA256 c4e473de103cd2168c5730797a9835d88c675456b2743af3dcc33c65c4d1ea7f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
-iJwEAQEIAAYFAk7luNsACgkQfXuS5UK5QB179AP/QLtSk6AENyU2dcV476TDBSMR
-9itxdfCm0Y3FCgJ3U2W51P3mPzfxNmIJyyTBLtavTb9IJtP/yn+/dU/C1OvDhVEK
-36czYyZO9nJvjnR+4j8cqodnq5h9JEbSiGq+fvXaU98WgMdO5Iur7/eIM0HjkCSR
-F6oSzGUDNYI3ZLp8Sfc=
-=tU5F
+iJwEAQEIAAYFAk8GyxoACgkQfXuS5UK5QB0lswP/U6CA4BmYyHz0cCq9heK3GV5n
+AWwm+WCao0mf34t60gLtNokzqID9uRBH9V54WiIeGlyQZTfolN81dG5qUEPUtTpU
+WY7Hu91EnLkdk8TXBzj5OCrIUncqJftuZYT2hLG9XtXZKc1RCjDYXjwYGOcexIKl
+KeFSZykP/kQv0LxeCNk=
+=WMHs
-----END PGP SIGNATURE-----
--- /dev/null
+[Unit]
+Description=Update /etc/systemd/system symlinks for units moved to /usr
+
+[Path]
+PathChanged=/lib/systemd/system
--- /dev/null
+[Unit]
+Description=Update /etc/systemd/system symlinks for units moved to /usr
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/systemd/update-etc-systemd-symlinks.sh
--- /dev/null
+#!/bin/sh
+# Update symlinks to systemd units moved into /usr/systemd.
+# (c) 2012 Michał Górny
+# Released under the terms of the 2-clause BSD license
+
+IFS_SAVE=${IFS}
+IFS='
+'
+# follow + symlink type will match broken symlinks only
+set -- $(find -L /etc/systemd/system -type l -print)
+IFS=${IFS_SAVE}
+
+for f; do
+ old_path=$(readlink "${f}")
+ new_path=/usr/lib${old_path#/lib}
+ if [ -f "${new_path}" ]; then
+ ln -v -s -f "${new_path}" "${f}"
+ fi
+done
-# Copyright 1999-2011 Gentoo Foundation
+# 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-29-r3.ebuild,v 1.1 2011/12/12 08:17:37 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-29-r3.ebuild,v 1.2 2012/01/06 10:19:43 mgorny Exp $
EAPI=4
# dbus, udev versions because of systemd units
# blocker on old packages to avoid collisions with above
# openrc blocker to avoid udev rules starting openrc scripts
+# systemd blocker due to /usr migration
RDEPEND="${COMMON_DEPEND}
- !<sys-apps/openrc-0.8.3"
+ !<sys-apps/openrc-0.8.3
+ !=sys-apps/systemd-29-r4"
DEPEND="${COMMON_DEPEND}
gtk? ( dev-lang/vala:${VALASLOT} )
>=sys-kernel/linux-headers-${MINKV}"
--- /dev/null
+# 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-29-r4.ebuild,v 1.1 2012/01/06 10:19:43 mgorny Exp $
+
+EAPI=4
+
+inherit autotools-utils bash-completion-r1 linux-info pam systemd
+
+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.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="audit cryptsetup gtk pam plymouth selinux tcpd"
+
+COMMON_DEPEND=">=sys-apps/dbus-1.4.10
+ >=sys-apps/util-linux-2.19
+ >=sys-fs/udev-171
+ sys-libs/libcap
+ audit? ( >=sys-process/audit-2 )
+ cryptsetup? ( sys-fs/cryptsetup )
+ gtk? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26
+ x11-libs/gtk+:2
+ >=x11-libs/libnotify-0.7 )
+ pam? ( virtual/pam )
+ plymouth? ( sys-boot/plymouth )
+ selinux? ( sys-libs/libselinux )
+ tcpd? ( sys-apps/tcp-wrappers )"
+
+# Vala-0.10 doesn't work with libnotify 0.7.1
+VALASLOT="0.14"
+# A little higher than upstream requires
+# but I had real trouble with 2.6.37 and systemd.
+MINKV="2.6.38"
+
+# dbus, udev versions because of systemd units
+# blocker on old packages to avoid collisions with above
+# openrc blocker to avoid udev rules starting openrc scripts
+RDEPEND="${COMMON_DEPEND}
+ !<sys-apps/openrc-0.8.3"
+DEPEND="${COMMON_DEPEND}
+ gtk? ( dev-lang/vala:${VALASLOT} )
+ >=sys-kernel/linux-headers-${MINKV}"
+
+# Due to vala being broken.
+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() {
+ # Force the rebuild of .vala sources
+ touch src/*.vala || die
+
+ # Fix hardcoded path in .vala.
+ sed -i -e 's:/lib/systemd:/usr/lib/systemd:g' src/*.vala || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-distro=gentoo
+ --with-rootdir=/usr
+ --localstatedir=/var
+ --docdir=/tmp/docs
+ $(use_enable audit)
+ $(use_enable cryptsetup libcryptsetup)
+ $(use_enable gtk)
+ $(use_enable pam)
+ $(use_enable selinux)
+ $(use_enable tcpd tcpwrap)
+
+ # right now it is enabled on per-distro basis
+ # let's just hack into the check
+ $(use plymouth && echo have_plymouth=true)
+ )
+
+ if use gtk; then
+ export VALAC="$(type -p valac-${VALASLOT})"
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install \
+ bashcompletiondir=/tmp
+
+ # compat for init= use
+ dosym ../usr/bin/systemd /bin/systemd
+
+ # move files as necessary
+ newbashcomp "${D}"/tmp/systemctl-bash-completion.sh ${PN}
+ dodoc "${D}"/tmp/docs/*
+ 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
+
+ keepdir /run
+
+ # Create /run/lock as required by new baselay/OpenRC compat.
+ insinto /usr/lib/tmpfiles.d
+ doins "${FILESDIR}"/gentoo-run.conf
+
+ # Migration helpers.
+ exeinto /usr/libexec/systemd
+ doexe "${FILESDIR}"/update-etc-systemd-symlinks.sh
+ systemd_dounit "${FILESDIR}"/update-etc-systemd-symlinks.{service,path}
+ systemd_enable_service sysinit.target update-etc-systemd-symlinks.path
+}
+
+pkg_preinst() {
+ local CONFIG_CHECK="~AUTOFS4_FS ~CGROUPS ~DEVTMPFS ~FANOTIFY ~IPV6"
+ kernel_is -ge ${MINKV//./ } || ewarn "Kernel version at least ${MINKV} required"
+ check_extra_config
+}
+
+optfeature() {
+ elog " [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1} (${2})"
+}
+
+pkg_postinst() {
+ 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 "You may need to perform some additional configuration for some programs"
+ elog "to work, see the systemd manpages for loading modules and handling tmpfiles:"
+ elog " $ man modules-load.d"
+ elog " $ man tmpfiles.d"
+ elog
+
+ elog "To get additional features, a number of optional runtime dependencies may"
+ elog "be installed:"
+ optfeature 'dev-python/dbus-python' 'for systemd-analyze'
+ optfeature 'dev-python/pycairo[svg]' 'for systemd-analyze plotting ability'
+ 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."
+
+ # Don't run it if we're outta /
+ if [[ ! ${ROOT%/} ]]; then
+ # Update symlinks to moved units.
+ sh "${FILESDIR}"/update-etc-systemd-symlinks.sh
+
+ # Try to start migration unit.
+ ebegin "Trying to start migration helper path monitoring."
+ systemctl --system start update-etc-systemd-symlinks.path 2>/dev/null
+ eend ${?}
+ fi
+}
-# Copyright 1999-2011 Gentoo Foundation
+# 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-37-r1.ebuild,v 1.1 2011/12/12 08:17:37 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/systemd/systemd-37-r1.ebuild,v 1.2 2012/01/06 10:19:43 mgorny Exp $
EAPI=4
# dbus, udev versions because of systemd units
# blocker on old packages to avoid collisions with above
# openrc blocker to avoid udev rules starting openrc scripts
+# systemd blocker due to /usr migration
RDEPEND="${COMMON_DEPEND}
- !<sys-apps/openrc-0.8.3"
+ !<sys-apps/openrc-0.8.3
+ !=sys-apps/systemd-29-r4"
DEPEND="${COMMON_DEPEND}
dev-util/gperf
dev-util/intltool
--- /dev/null
+# 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-37-r2.ebuild,v 1.1 2012/01/06 10:19:43 mgorny Exp $
+
+EAPI=4
+
+inherit autotools-utils bash-completion-r1 linux-info pam systemd
+
+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.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="acl audit cryptsetup gtk pam plymouth selinux tcpd"
+
+COMMON_DEPEND=">=sys-apps/dbus-1.4.10
+ >=sys-apps/util-linux-2.19
+ >=sys-fs/udev-172
+ sys-libs/libcap
+ acl? ( sys-apps/acl )
+ audit? ( >=sys-process/audit-2 )
+ cryptsetup? ( sys-fs/cryptsetup )
+ gtk? (
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.26
+ x11-libs/gtk+:2
+ >=x11-libs/libnotify-0.7 )
+ pam? ( virtual/pam )
+ plymouth? ( sys-boot/plymouth )
+ selinux? ( sys-libs/libselinux )
+ tcpd? ( sys-apps/tcp-wrappers )"
+
+# Vala-0.10 doesn't work with libnotify 0.7.1
+VALASLOT="0.12"
+# A little higher than upstream requires
+# but I had real trouble with 2.6.37 and systemd.
+MINKV="2.6.38"
+
+# dbus, udev versions because of systemd units
+# blocker on old packages to avoid collisions with above
+# openrc blocker to avoid udev rules starting openrc scripts
+RDEPEND="${COMMON_DEPEND}
+ !<sys-apps/openrc-0.8.3"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gperf
+ dev-util/intltool
+ gtk? ( dev-lang/vala:${VALASLOT} )
+ >=sys-kernel/linux-headers-${MINKV}"
+
+# Due to vala being broken.
+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() {
+ # Force the rebuild of .vala sources
+ touch src/*.vala || die
+
+ # Fix hardcoded path in .vala.
+ sed -i -e 's:/lib/systemd:/usr/lib/systemd:g' src/*.vala || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --with-distro=gentoo
+ --with-rootdir=/usr
+ --with-rootlibdir=/usr/$(get_libdir)
+ --localstatedir=/var
+ --docdir=/tmp/docs
+ $(use_enable acl)
+ $(use_enable audit)
+ $(use_enable cryptsetup libcryptsetup)
+ $(use_enable gtk)
+ $(use_enable pam)
+ $(use_enable plymouth)
+ $(use_enable selinux)
+ $(use_enable tcpd tcpwrap)
+ )
+
+ if use gtk; then
+ export VALAC="$(type -p valac-${VALASLOT})"
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install \
+ bashcompletiondir=/tmp
+
+ # compat for init= use
+ dosym ../usr/bin/systemd /bin/systemd
+
+ # move files as necessary
+ newbashcomp "${D}"/tmp/systemctl-bash-completion.sh ${PN}
+ dodoc "${D}"/tmp/docs/*
+ 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
+
+ keepdir /run
+
+ # Create /run/lock as required by new baselay/OpenRC compat.
+ insinto /usr/lib/tmpfiles.d
+ doins "${FILESDIR}"/gentoo-run.conf
+
+ # Migration helpers.
+ exeinto /usr/libexec/systemd
+ doexe "${FILESDIR}"/update-etc-systemd-symlinks.sh
+ systemd_dounit "${FILESDIR}"/update-etc-systemd-symlinks.{service,path}
+ systemd_enable_service sysinit.target update-etc-systemd-symlinks.path
+}
+
+pkg_preinst() {
+ local CONFIG_CHECK="~AUTOFS4_FS ~CGROUPS ~DEVTMPFS ~FANOTIFY ~IPV6"
+ kernel_is -ge ${MINKV//./ } || ewarn "Kernel version at least ${MINKV} required"
+ check_extra_config
+}
+
+optfeature() {
+ elog " [\e[1m$(has_version ${1} && echo I || echo ' ')\e[0m] ${1} (${2})"
+}
+
+pkg_postinst() {
+ 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 "You may need to perform some additional configuration for some programs"
+ elog "to work, see the systemd manpages for loading modules and handling tmpfiles:"
+ elog " $ man modules-load.d"
+ elog " $ man tmpfiles.d"
+ elog
+
+ elog "To get additional features, a number of optional runtime dependencies may"
+ elog "be installed:"
+ optfeature 'dev-python/dbus-python' 'for systemd-analyze'
+ optfeature 'dev-python/pycairo[svg]' 'for systemd-analyze plotting ability'
+ 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."
+
+ # Don't run it if we're outta /
+ if [[ ! ${ROOT%/} ]]; then
+ # Update symlinks to moved units.
+ sh "${FILESDIR}"/update-etc-systemd-symlinks.sh
+
+ # Try to start migration unit.
+ ebegin "Trying to start migration helper path monitoring."
+ systemctl --system start update-etc-systemd-symlinks.path 2>/dev/null
+ eend ${?}
+ fi
+}