Annotation of /branches/magellan-next/core/systemd/systemd-28-r2.smage2
Parent Directory | Revision Log
Revision 7869 -
(hide annotations)
(download)
Thu Jun 2 19:42:59 2011 UTC (12 years, 11 months ago) by niro
File size: 4219 byte(s)
Thu Jun 2 19:42:59 2011 UTC (12 years, 11 months ago) by niro
File size: 4219 byte(s)
-added magellan patch with fixed pretty_print and removed tty1 from getty.target and plymouth units enabled, make external sysvinit-support variable and install unit targets after installation, to have mage not to own the symlinks
1 | niro | 7869 | # $Id$ |
2 | |||
3 | PNAME="systemd" | ||
4 | PVER="28" | ||
5 | PBUILD="r2" | ||
6 | |||
7 | PCATEGORIE="sys-apps" | ||
8 | STATE="unstable" | ||
9 | |||
10 | DESCRIPTION="System and Session Manager." | ||
11 | HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd" | ||
12 | |||
13 | # enable sysvinit support atm for compatibility reasons | ||
14 | # y=yes, n=no | ||
15 | SYSVINIT_SUPPORT="y" | ||
16 | |||
17 | DEPEND=">= sys-apps/dbus-1.4 | ||
18 | >= sys-fs/udev-170 | ||
19 | >= dev-libs/dbus-glib-0.92 | ||
20 | >= sys-apps/tcp-wrappers-7.6 | ||
21 | >= sys-libs/pam-1.1 | ||
22 | >= sys-libs/libcap-2.20 | ||
23 | >= sys-apps/util-linux-2.19" | ||
24 | |||
25 | if [[ ${SYSVINIT_SUPPORT} = y ]] | ||
26 | then | ||
27 | DEPEND="${DEPEND} | ||
28 | >= sys-apps/sysvinit-2.88" | ||
29 | fi | ||
30 | |||
31 | SDEPEND=">= app-text/docbook-xsl-stylesheets-1.76 | ||
32 | >= x11-libs/gtk2+-2.24 | ||
33 | >= dev-libs/libcgroup-0.37 | ||
34 | >= dev-libs/libxslt-1.1.26 | ||
35 | >= dev-lang/vala-0.12 | ||
36 | >= virtual/kernel-headers | ||
37 | >= x11-libs/libnotify-0.7.3" | ||
38 | |||
39 | SRCFILE="${PNAME}-${PVER}.tar.bz2" | ||
40 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" | ||
41 | |||
42 | SRC_URI=( | ||
43 | http://www.freedesktop.org/software/${PNAME}/${SRCFILE} | ||
44 | mirror://${PNAME}/${SRCFILE} | ||
45 | mirror://${PNAME}/${PNAME}-${PVER}-magellan-2.patch | ||
46 | ) | ||
47 | |||
48 | UP2DATE="updatecmd http://www.freedesktop.org/software/systemd/ | lasttarball" | ||
49 | |||
50 | src_prepare() | ||
51 | { | ||
52 | munpack ${SRCFILE} || die | ||
53 | cd ${SRCDIR} | ||
54 | |||
55 | # apply our magellan patch | ||
56 | mpatch ${PNAME}-${PVER}-magellan-2.patch || die | ||
57 | |||
58 | # regen configure | ||
59 | mautoreconf || die | ||
60 | } | ||
61 | |||
62 | src_compile() | ||
63 | { | ||
64 | cd ${SRCDIR} | ||
65 | |||
66 | mconfigure \ | ||
67 | --with-distro=magellan \ | ||
68 | --libexecdir=/usr/$(mlibdir)/${PNAME} \ | ||
69 | --with-pamlibdir=/$(mlibdir)/security \ | ||
70 | --with-rootdir=/ \ | ||
71 | --enable-gtk \ | ||
72 | --enable-pam \ | ||
73 | --enable-tcpwrap \ | ||
74 | --disable-audit \ | ||
75 | --disable-selinux \ | ||
76 | || die | ||
77 | |||
78 | mmake || die | ||
79 | } | ||
80 | |||
81 | src_install() | ||
82 | { | ||
83 | cd ${SRCDIR} | ||
84 | mmake DESTDIR=${BINDIR} install || die | ||
85 | |||
86 | # install os-release file | ||
87 | cat > ${BINDIR}/etc/os-release << EOF | ||
88 | NAME="Magellan Linux" | ||
89 | ID=magellan | ||
90 | PRETTY_NAME="Magellan Linux" | ||
91 | ANSI_COLOR="1;34" | ||
92 | EOF | ||
93 | |||
94 | # keep some directories | ||
95 | mkeepdir /run || die | ||
96 | mkeepdir /etc/modules-load.d || die | ||
97 | |||
98 | # remove tty1 from getty targets to use tty1 as systemd logger | ||
99 | # and to fix graphical glitches | ||
100 | # will by integrated in the magellan patch! | ||
101 | sed -i 's:getty.target.wants/getty@tty1.service\ ::' \ | ||
102 | ${BINDIR}/lib/systemd/system/getty@.service || die | ||
103 | |||
104 | if [[ ${SYSVINIT_SUPPORT} != y ]] | ||
105 | then | ||
106 | echo "Include SysV init Compat symlinks" | ||
107 | # create SysV compatibility symlinks. systemctl/systemd are smart | ||
108 | # enough to detect in which way they are called. | ||
109 | minstalldir /sbin || die | ||
110 | mlink ../bin/systemd /sbin/init || die | ||
111 | local i | ||
112 | for in reboot halt poweroff shutdown telinit runlevel | ||
113 | do | ||
114 | mlink ../bin/systemctl /sbin/${i} || die | ||
115 | done | ||
116 | else | ||
117 | echo "Using sysvinit package for SysV compat" | ||
118 | fi | ||
119 | |||
120 | # we create all wants links manually at installation time to make sure | ||
121 | # they are not owned and hence overriden by rpm after the used deleted | ||
122 | # them. | ||
123 | rm -r ${BINDIR}/etc/systemd/system/*.target.wants || die | ||
124 | # but make sure these directories are properly owned | ||
125 | mkeepdir /lib/systemd/system/basic.target.wants || die | ||
126 | mkeepdir /lib/systemd/system/default.target.wants || die | ||
127 | mkeepdir /lib/systemd/system/dbus.target.wants || die | ||
128 | mkeepdir /lib/systemd/system/syslog.target.wants || die | ||
129 | |||
130 | minstalldocs DISTRO_PORTING LICENSE README TODO || die | ||
131 | } | ||
132 | |||
133 | preinstall() | ||
134 | { | ||
135 | # adding lock group | ||
136 | ${MLIBDIR}/mgroupadd -o "-g 54" lock | ||
137 | } | ||
138 | |||
139 | postinstall() | ||
140 | { | ||
141 | # try to read default runlevel from the old inittab if it exists | ||
142 | local runlevel | ||
143 | runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' ${MROOT}/etc/inittab 2> /dev/null) | ||
144 | local target | ||
145 | if [[ -z ${runlevel} ]] | ||
146 | then | ||
147 | target="/lib/systemd/system/graphical.target" | ||
148 | else | ||
149 | target="/lib/systemd/system/runlevel${runlevel}.target" | ||
150 | fi | ||
151 | # and symlink what we found to the new-style default.target | ||
152 | ln -snf ${target} ${MROOT}/etc/systemd/system/default.target | ||
153 | |||
154 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] | ||
155 | then | ||
156 | # create machine-id | ||
157 | if [ ! -f /etc/machine-id ] | ||
158 | then | ||
159 | systemd-machine-id-setup | ||
160 | fi | ||
161 | |||
162 | # restart systemd daemon | ||
163 | systemctl daemon-reexec | ||
164 | |||
165 | # enable the services we install by default. | ||
166 | systemctl enable \ | ||
167 | getty@.service \ | ||
168 | remote-fs.target \ | ||
169 | systemd-readahead-replay.service \ | ||
170 | systemd-readahead-collect.service | ||
171 | fi | ||
172 | |||
173 | echo | ||
174 | echo "systemd has been installed to /bin/systemd. Please ensure you append" | ||
175 | echo "init=/bin/systemd to your kernel command line in your bootloader." | ||
176 | echo | ||
177 | } |