mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
269 lines
12 KiB
Makefile
269 lines
12 KiB
Makefile
################################################################################
|
|
# This file is part of OpenELEC - http://www.openelec.tv
|
|
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
|
#
|
|
# OpenELEC is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# OpenELEC is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
|
################################################################################
|
|
|
|
PKG_NAME="systemd"
|
|
PKG_VERSION="218"
|
|
PKG_REV="1"
|
|
PKG_ARCH="any"
|
|
PKG_LICENSE="GPL"
|
|
PKG_SITE="http://www.freedesktop.org/wiki/Software/systemd"
|
|
PKG_URL="http://www.freedesktop.org/software/systemd/$PKG_NAME-$PKG_VERSION.tar.xz"
|
|
PKG_DEPENDS_TARGET="toolchain libcap kmod util-linux libgcrypt"
|
|
PKG_PRIORITY="required"
|
|
PKG_SECTION="system"
|
|
PKG_SHORTDESC="systemd: a system and session manager"
|
|
PKG_LONGDESC="systemd is a system and session manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit."
|
|
|
|
PKG_IS_ADDON="no"
|
|
PKG_AUTORECONF="yes"
|
|
|
|
PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_malloc_0_nonnull=yes \
|
|
KMOD=/usr/bin/kmod \
|
|
--disable-nls \
|
|
--disable-gtk-doc \
|
|
--disable-gtk-doc-html \
|
|
--disable-gtk-doc-pdf \
|
|
--disable-python-devel \
|
|
--disable-dbus \
|
|
--disable-utmp \
|
|
--disable-compat-libs \
|
|
--disable-coverage \
|
|
--enable-kmod \
|
|
--disable-xkbcommon \
|
|
--enable-blkid \
|
|
--disable-seccomp \
|
|
--disable-ima \
|
|
--disable-chkconfig \
|
|
--disable-selinux \
|
|
--disable-apparmor \
|
|
--disable-xz \
|
|
--disable-lz4 \
|
|
--disable-pam \
|
|
--disable-acl \
|
|
--disable-smack \
|
|
--disable-gcrypt \
|
|
--disable-audit \
|
|
--disable-elfutils \
|
|
--disable-libcryptsetup \
|
|
--disable-qrencode \
|
|
--disable-microhttpd \
|
|
--disable-gnutls \
|
|
--disable-libcurl \
|
|
--disable-libidn \
|
|
--disable-binfmt \
|
|
--disable-vconsole \
|
|
--disable-bootchart \
|
|
--disable-quotacheck \
|
|
--enable-tmpfiles \
|
|
--disable-sysusers \
|
|
--disable-firstboot \
|
|
--disable-randomseed \
|
|
--disable-backlight \
|
|
--disable-rfkill \
|
|
--enable-logind \
|
|
--disable-machined \
|
|
--disable-hostnamed \
|
|
--disable-timedated \
|
|
--disable-timesyncd \
|
|
--disable-localed \
|
|
--disable-coredump \
|
|
--disable-polkit \
|
|
--disable-resolved \
|
|
--disable-networkd \
|
|
--disable-efi \
|
|
--disable-terminal \
|
|
--disable-kdbus \
|
|
--disable-myhostname \
|
|
--disable-gudev \
|
|
--disable-manpages \
|
|
--disable-hibernate \
|
|
--disable-ldconfig \
|
|
--enable-split-usr \
|
|
--disable-tests \
|
|
--disable-hashmap-debug \
|
|
--without-python \
|
|
--disable-python-devel \
|
|
--with-sysvinit-path= \
|
|
--with-sysvrcnd-path= \
|
|
--with-tty-gid=5 \
|
|
--with-dbuspolicydir=/etc/dbus-1/system.d \
|
|
--with-dbussessionservicedir=/usr/share/dbus-1/services \
|
|
--with-dbussystemservicedir=/usr/share/dbus-1/system-services \
|
|
--with-dbusinterfacedir=/usr/share/dbus-1/interfaces \
|
|
--with-rootprefix=/usr \
|
|
--with-rootlibdir=/lib"
|
|
|
|
post_makeinstall_target() {
|
|
# remove unneeded stuff
|
|
rm -rf $INSTALL/etc/systemd/system
|
|
rm -rf $INSTALL/etc/xdg
|
|
rm -f $INSTALL/usr/bin/kernel-install
|
|
rm -rf $INSTALL/usr/lib/kernel/install.d
|
|
rm -rf $INSTALL/usr/lib/rpm
|
|
rm -rf $INSTALL/usr/lib/systemd/user
|
|
rm -rf $INSTALL/usr/lib/tmpfiles.d/etc.conf
|
|
rm -rf $INSTALL/usr/lib/tmpfiles.d/systemd-remote.conf
|
|
rm -rf $INSTALL/usr/share/factory
|
|
rm -rf $INSTALL/usr/share/zsh
|
|
|
|
# clean up hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-OUI.hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-acpi-vendor.hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-net-ifname.hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-sdio-classes.hwdb
|
|
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-sdio-vendor-model.hwdb
|
|
|
|
# remove Network adaper renaming rule, this is confusing
|
|
rm -rf $INSTALL/usr/lib/udev/rules.d/80-net-setup-link.rules
|
|
|
|
# remove debug-shell.service, we install our own
|
|
rm -rf $INSTALL/usr/lib/systemd/system/debug-shell.service
|
|
|
|
# remove systemd-ask-password
|
|
rm -rf $INSTALL/usr/bin/systemd-ask-password
|
|
rm -rf $INSTALL/usr/bin/systemd-tty-ask-password-agent
|
|
rm -rf $INSTALL/usr/lib/systemd/systemd-reply-password
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-ask-password-console.path
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-ask-password-console.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-ask-password-wall.path
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-ask-password-wall.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-ask-password-console.path
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-ask-password-wall.path
|
|
|
|
# remove getty units, we dont want a console
|
|
rm -rf $INSTALL/usr/lib/systemd/system/autovt@.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/console-getty.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/console-shell.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/container-getty@.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/getty.target
|
|
rm -rf $INSTALL/usr/lib/systemd/system/getty@.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/serial-getty@.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/getty.target
|
|
|
|
# remove other notused or nonsense stuff (our /etc is ro)
|
|
rm -rf $INSTALL/usr/lib/systemd/systemd-update-done
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-update-done.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-update-done.service
|
|
|
|
# remove systemd-udev-hwdb-update. we have own hwdb.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-udev-hwdb-update.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-udev-hwdb-update.service
|
|
|
|
# remove rootfs fsck
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-fsck-root.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-fsck-root.service
|
|
|
|
# remove fsck
|
|
rm -rf $INSTALL/usr/lib/systemd/systemd-fsck
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-fsck@.service
|
|
|
|
# remove remount fs
|
|
rm -rf $INSTALL/usr/lib/systemd/systemd-remount-fs
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-remount-fs.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-remount-fs.service
|
|
|
|
# remove initrd services
|
|
rm -rf $INSTALL/usr/lib/systemd/system/initrd-*.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/initrd-*.target
|
|
|
|
# remove nspawn
|
|
rm -rf $INSTALL/usr/bin/systemd-nspawn
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-nspawn@.service
|
|
|
|
# remove genetators/catalog
|
|
rm -rf $INSTALL/usr/lib/systemd/system-generators
|
|
rm -rf $INSTALL/usr/lib/systemd/catalog
|
|
|
|
# meh presets
|
|
rm -rf $INSTALL/usr/lib/systemd/system-preset
|
|
|
|
# remove networkd
|
|
rm -rf $INSTALL/usr/lib/systemd/network
|
|
|
|
# remove systemd-journal-remote.conf
|
|
rm -rf $INSTALL/usr/lib/tmpfiles.d/systemd-remote.conf
|
|
|
|
# tune journald.conf
|
|
sed -e "s,^.*Compress=.*$,Compress=no,g" -i $INSTALL/etc/systemd/journald.conf
|
|
sed -e "s,^.*SplitMode=.*$,SplitMode=none,g" -i $INSTALL/etc/systemd/journald.conf
|
|
sed -e "s,^.*MaxRetentionSec=.*$,MaxRetentionSec=1day,g" -i $INSTALL/etc/systemd/journald.conf
|
|
sed -e "s,^.*RuntimeMaxUse=.*$,RuntimeMaxUse=2M,g" -i $INSTALL/etc/systemd/journald.conf
|
|
sed -e "s,^.*RuntimeMaxFileSize=.*$,RuntimeMaxFileSize=128K,g" -i $INSTALL/etc/systemd/journald.conf
|
|
sed -e "s,^.*SystemMaxUse=.*$,SystemMaxUse=10M,g" -i $INSTALL/etc/systemd/journald.conf
|
|
|
|
# tune logind.conf
|
|
sed -e "s,^.*HandleLidSwitch=.*$,HandleLidSwitch=ignore,g" -i $INSTALL/etc/systemd/logind.conf
|
|
|
|
# replace systemd-machine-id-setup with ours
|
|
rm -rf $INSTALL/usr/lib/systemd/systemd-machine-id-commit
|
|
rm -rf $INSTALL/usr/lib/systemd/system/systemd-machine-id-commit.service
|
|
rm -rf $INSTALL/usr/lib/systemd/system/*.target.wants/systemd-machine-id-commit.service
|
|
rm -rf $INSTALL/usr/bin/systemd-machine-id-setup
|
|
mkdir -p $INSTALL/usr/bin
|
|
cp $PKG_DIR/scripts/systemd-machine-id-setup $INSTALL/usr/bin
|
|
|
|
# provide 'halt', 'shutdown', 'reboot' & co.
|
|
mkdir -p $INSTALL/usr/sbin
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/halt
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/poweroff
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/reboot
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/runlevel
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/shutdown
|
|
ln -sf /usr/bin/systemctl $INSTALL/usr/sbin/telinit
|
|
|
|
mkdir -p $INSTALL/usr/config
|
|
cp -PR $PKG_DIR/config/* $INSTALL/usr/config
|
|
|
|
rm -rf $INSTALL/etc/modules-load.d
|
|
ln -sf /storage/.config/modules-load.d $INSTALL/etc/modules-load.d
|
|
rm -rf $INSTALL/etc/sysctl.d
|
|
ln -sf /storage/.config/sysctl.d $INSTALL/etc/sysctl.d
|
|
rm -rf $INSTALL/etc/tmpfiles.d
|
|
ln -sf /storage/.config/tmpfiles.d $INSTALL/etc/tmpfiles.d
|
|
rm -rf $INSTALL/etc/udev/hwdb.d
|
|
ln -sf /storage/.config/hwdb.d $INSTALL/etc/udev/hwdb.d
|
|
rm -rf $INSTALL/etc/udev/rules.d
|
|
ln -sf /storage/.config/udev.rules.d $INSTALL/etc/udev/rules.d
|
|
}
|
|
|
|
post_install() {
|
|
add_group systemd-journal 190
|
|
|
|
add_group systemd-network 193
|
|
add_user systemd-network x 193 193 "systemd-network" "/" "/bin/sh"
|
|
|
|
add_group audio 63
|
|
add_group cdrom 11
|
|
add_group dialout 18
|
|
add_group disk 6
|
|
add_group floppy 19
|
|
add_group kmem 9
|
|
add_group lp 7
|
|
add_group tape 33
|
|
add_group tty 5
|
|
add_group video 39
|
|
add_group utmp 22
|
|
add_group input 199 # TODO change gid
|
|
|
|
enable_service machine-id.service
|
|
enable_service debugconfig.service
|
|
enable_service userconfig.service
|
|
enable_service hwdb.service
|
|
}
|