blob: 2ee8c2cbd4769e35d5c6efae6713828b015a11eb [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit systemd toolchain-funcs udev
DESCRIPTION="Split of readahead systemd implementation"
HOMEPAGE="https://dev.gentoo.org/~pacho/systemd-readahead.html"
SRC_URI="https://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz"
LICENSE="LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
IUSE=""
S=${WORKDIR}/systemd-${PV}
RDEPEND=">=sys-apps/systemd-217:="
DEPEND="${RDEPEND}
app-arch/xz-utils:0
dev-util/gperf
>=dev-util/intltool-0.50
>=sys-apps/coreutils-8.16
>=sys-devel/binutils-2.23.1
>=sys-kernel/linux-headers-3.8
virtual/pkgconfig
"
src_prepare() {
# systemd-notify no longer supports readahead playing
sed -i -e 's:ExecStart=@SYSTEMD_NOTIFY@ --readahead=done:ExecStart=/bin/touch /run/systemd/readahead/done:' \
units/systemd-readahead-done.service.in || die
}
src_configure() {
# Keep using the one where the rules were installed.
MY_UDEVDIR=$(get_udevdir)
# Fix systems broken by bug #509454.
[[ ${MY_UDEVDIR} ]] || MY_UDEVDIR=/lib/udev
local myeconfargs=(
# disable -flto since it is an optimization flag
# and makes distcc less effective
cc_cv_CFLAGS__flto=no
--enable-readahead
--disable-maintainer-mode
--localstatedir=/var
# make sure we get /bin:/sbin in $PATH
--enable-split-usr
# For testing.
--with-rootprefix="${ROOTPREFIX-/usr}"
--with-rootlibdir="${ROOTPREFIX-/usr}/$(get_libdir)"
# disable sysv compatibility
--with-sysvinit-path=
--with-sysvrcnd-path=
# Disable most of the stuff
--disable-efi
--disable-ima
--disable-acl
--disable-apparmor
--disable-audit
--disable-libcryptsetup
--disable-libcurl
--disable-gtk-doc
--disable-elfutils
--disable-gcrypt
--disable-gudev
--disable-microhttpd
--disable-gnutls
--disable-libidn
--disable-introspection
--disable-kdbus
--disable-kmod
--disable-lz4
--disable-xz
--disable-pam
--disable-polkit
--without-python
--disable-python-devel
--disable-qrencode
--disable-seccomp
--disable-selinux
--disable-tests
--disable-dbus
--disable-smack
--disable-blkid
--disable-multi-seat-x
--disable-myhostname
# Disable optional binaries
--disable-backlight
--disable-binfmt
--disable-bootchart
--disable-coredump
--disable-firstboot
--disable-hostnamed
--disable-localed
--disable-logind
--disable-machined
--disable-networkd
--disable-quotacheck
--disable-randomseed
--disable-resolved
--disable-rfkill
--disable-sysusers
--disable-timedated
--disable-timesyncd
--disable-tmpfiles
--disable-vconsole
# not supported (avoid automagic deps in the future)
--disable-chkconfig
# dbus paths
--with-dbuspolicydir="${EPREFIX}/etc/dbus-1/system.d"
--with-dbussessionservicedir="${EPREFIX}/usr/share/dbus-1/services"
--with-dbussystemservicedir="${EPREFIX}/usr/share/dbus-1/system-services"
--with-dbusinterfacedir="${EPREFIX}/usr/share/dbus-1/interfaces"
)
# Work around bug 463846.
tc-export CC
econf "${myeconfargs[@]}"
}
src_compile() {
echo 'BUILT_SOURCES: $(BUILT_SOURCES)' > "${T}"/Makefile.extra
emake -f Makefile -f "${T}"/Makefile.extra BUILT_SOURCES
emake systemd-readahead
emake units/systemd-readahead-{drop,collect,replay,done}.service units/systemd-readahead-done.timer
emake man/{sd-readahead.3,sd_readahead.3,systemd-readahead-replay.service.8}
}
src_test() {
einfo "No specific tests for this"
}
src_install() {
# Install main app
exeinto /usr/lib/systemd/
doexe systemd-readahead
# Install unit files
systemd_dounit units/systemd-readahead-{drop,collect,replay,done}.service units/systemd-readahead-done.timer
# Install manpages and aliases
doman man/{sd-readahead.3,sd_readahead.3,systemd-readahead-replay.service.8}
newman man/systemd-readahead-replay.service.8 systemd-readahead-collect.service.8
newman man/systemd-readahead-replay.service.8 systemd-readahead-done.service.8
newman man/systemd-readahead-replay.service.8 systemd-readahead-done.timer.8
newman man/systemd-readahead-replay.service.8 systemd-readahead.8
# Install docs
dodoc TODO README
}