Contents of /smage/trunk/core/systemd/systemd-185-r2.smage2
Parent Directory | Revision Log
Revision 4199 -
(show annotations)
(download)
Fri Nov 9 09:48:05 2012 UTC (11 years, 10 months ago) by niro
File size: 9253 byte(s)
Fri Nov 9 09:48:05 2012 UTC (11 years, 10 months ago) by niro
File size: 9253 byte(s)
-added patch to apply autoreconf, not running directly because of all its macro dependencies
1 | # $Id$ |
2 | |
3 | PNAME="systemd" |
4 | PVER="185" |
5 | PBUILD="r2" |
6 | |
7 | SPLIT_PACKAGES="libudev libudev-dev udev udev-dev" |
8 | |
9 | PCAT="sys-apps" |
10 | HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd" |
11 | |
12 | GLIB2_DEPEND=">= dev-libs/glib2-2.32" |
13 | GLIBC_DEPEND=">= virtual/glibc" |
14 | COMMON_DEPEND="${GLIBC_DEPEND} |
15 | ${GLIB2_DEPEND} |
16 | >= sys-apps/util-linux-2.21 |
17 | >= virtual/sysvinit-tools |
18 | >= sys-apps/kmod-8" |
19 | |
20 | LIBUDEV_DEPEND="${GLIBC_DEPEND}" |
21 | |
22 | SYSTEMD_DEPEND="${COMMON_DEPEND} |
23 | >= sys-apps/dbus-1.6" |
24 | |
25 | UDEV_DEPEND="${COMMON_DEPEND}" |
26 | |
27 | SDEPEND="${LIBUDEV_DEPEND} |
28 | ${SYSTEMD_DEPEND} |
29 | ${TOOLS_DEPEND} |
30 | ${UDEV_DEPEND} |
31 | >= dev-util/intltool-0.50 |
32 | >= dev-util/gperf-3 |
33 | >= virtual/kernel-headers" |
34 | |
35 | SRCFILE="${PNAME}-${PVER}.tar.xz" |
36 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
37 | |
38 | UDEV_CONFIG_PVER="${PVER}-r4" |
39 | UDEV_CONFIG_SRCFILE="config-udev-${UDEV_CONFIG_PVER}.tar.bz2" |
40 | UDEV_CONFIG_SRCDIR="${BUILDDIR}/config-udev-${UDEV_CONFIG_PVER}" |
41 | |
42 | sminclude mtools multilib cleanutils alx |
43 | msetfeature "!check" |
44 | |
45 | SRC_URI=( |
46 | http://www.freedesktop.org/software/${PNAME}/${SRCFILE} |
47 | mirror://${PNAME}/${SRCFILE} |
48 | mirror://udev/${UDEV_CONFIG_SRCFILE} |
49 | mirror://${PNAME}/${PNAME}-185-magellan.patch |
50 | mirror://${PNAME}/${PNAME}-185-magellan-configurable-getty-2.patch |
51 | mirror://${PNAME}/${PNAME}-${PVER}-alx-autoreconf.patch |
52 | mirror://${PNAME}/login-manager.pamd |
53 | ) |
54 | |
55 | UP2DATE="updatecmd http://www.freedesktop.org/software/systemd/ | grep ${PNAME}-[0-9] | lasttarball xz" |
56 | |
57 | split_info_libudev() |
58 | { |
59 | DESCRIPTION="Dynamic library to access udev device information." |
60 | DEPEND="${LIBUDEV_DEPEND}" |
61 | PCAT="sys-fs" |
62 | } |
63 | |
64 | split_info_libudev-dev() |
65 | { |
66 | DESCRIPTION="Development files for libudev." |
67 | DEPEND="== sys-fs/libudev-${PVER}" |
68 | PCAT="sys-fs" |
69 | } |
70 | |
71 | split_info_udev() |
72 | { |
73 | DESCRIPTION="A Userspace Implementation for dynamic /dev nodes." |
74 | DEPEND="${UDEV_DEPEND} |
75 | == sys-fs/libudev-${PVER}" |
76 | PCAT="sys-fs" |
77 | } |
78 | |
79 | split_info_udev-dev() |
80 | { |
81 | DESCRIPTION="Development files for udev." |
82 | DEPEND="== sys-fs/libudev-dev-${PVER} |
83 | == sys-fs/udev-${PVER}" |
84 | PCAT="sys-fs" |
85 | } |
86 | |
87 | src_prepare() |
88 | { |
89 | munpack ${SRCFILE} || die |
90 | oldmunpack ${UDEV_CONFIG_SRCFILE} || die |
91 | |
92 | # apply our magellan patch |
93 | mpatch ${PNAME}-185-magellan.patch || die |
94 | |
95 | # magellan-only: use a configurable getty |
96 | mpatch ${PNAME}-185-magellan-configurable-getty-2.patch || die |
97 | |
98 | # do not require autoreconf on alx with all its macro dependencies |
99 | mpatch ${PNAME}-${PVER}-alx-autoreconf.patch || die |
100 | |
101 | # let rsyslog read from /proc/kmsg for now |
102 | all-abis sed -i "s:#ImportKernel=yes:ImportKernel=no:" src/journal/journald.conf || die |
103 | |
104 | # fix rootlink install location |
105 | sed -i "s:^\(udevdir=\).*:\1/usr/lib/udev:" ${UDEV_CONFIG_SRCDIR}/Makefile || die |
106 | } |
107 | |
108 | src_compile() |
109 | { |
110 | mconfigure \ |
111 | --with-distro=magellan \ |
112 | --libexecdir=/usr/lib \ |
113 | --localstatedir=/var \ |
114 | --disable-ima \ |
115 | --disable-audit \ |
116 | --disable-selinux \ |
117 | --disable-pam \ |
118 | --disable-tcpwrap \ |
119 | --disable-xz \ |
120 | --disable-acl \ |
121 | --disable-libcryptsetup \ |
122 | --disable-plymouth \ |
123 | --disable-gudev \ |
124 | --disable-introspection \ |
125 | --with-pci-ids-path=no \ |
126 | --with-usb-ids-path=no \ |
127 | --with-firmware-path=/usr/lib/firmware/updates:/usr/lib/firmware:/lib/firmware/updates:/lib/firmware \ |
128 | --disable-binfmt \ |
129 | --disable-vconsole \ |
130 | --disable-readahead \ |
131 | --disable-quotacheck \ |
132 | --disable-randomseed \ |
133 | --disable-logind \ |
134 | --disable-hostnamed \ |
135 | --disable-timedated \ |
136 | --disable-localed \ |
137 | --disable-coredump \ |
138 | --disable-keymap \ |
139 | --disable-manpages \ |
140 | || die |
141 | |
142 | mmake || die |
143 | } |
144 | |
145 | src_install_libudev() |
146 | { |
147 | mmake DESTDIR=${BINDIR} install || die |
148 | |
149 | # cleanup all files but the libudev owned ones |
150 | zapmost ${BINDIR} \ |
151 | usr/$(mlibdir)/libudev.so.* \ |
152 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libudev.so.*') \ |
153 | || die |
154 | } |
155 | |
156 | src_install_libudev-dev() |
157 | { |
158 | mmake DESTDIR=${BINDIR} install || die |
159 | |
160 | # cleanup all files but the libudev owned ones |
161 | zapmost ${BINDIR} \ |
162 | usr/include/libudev.h \ |
163 | usr/$(mlibdir)/libudev.so \ |
164 | usr/$(mlibdir)/pkgconfig/libudev.pc \ |
165 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libudev.so') \ |
166 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/libudev.pc') \ |
167 | || die |
168 | } |
169 | |
170 | src_install_udev() |
171 | { |
172 | mmake DESTDIR=${BINDIR} install || die |
173 | |
174 | # cleanup all files but the udev owned ones |
175 | zapmost ${BINDIR} \ |
176 | usr/bin/udevadm \ |
177 | usr/lib/systemd/systemd-udevd \ |
178 | usr/lib/udev \ |
179 | || die |
180 | |
181 | # remove udev rule for systemd |
182 | mdelete /usr/lib/udev/rules.d/99-systemd.rules || die |
183 | |
184 | # install our config |
185 | cd ${UDEV_CONFIG_SRCDIR} |
186 | make DESTDIR=${BINDIR} install || die |
187 | |
188 | # install sysvinit rc. script |
189 | make DESTDIR=${BINDIR} install-sysvinit || die |
190 | |
191 | # udev writerootlink rule is required by busybox |
192 | make DESTDIR=${BINDIR} install-writerootlink || die |
193 | |
194 | # create symlinks for these utilities to /sbin |
195 | minstalldir /usr/sbin || die |
196 | # where multipath-tools expect them to be |
197 | mlink ../lib/udev/scsi_id /usr/sbin/ || die |
198 | |
199 | # mark some dirs undeletable |
200 | mkeepdir /etc/udev/rules.d || die |
201 | mkeepdir /usr/lib/udev/state || die |
202 | |
203 | # CONFIG_PROTECT_MASK for /etc/udev/rules.d |
204 | minstalldir /etc/env.d || die |
205 | echo "CONFIG_PROTECT_MASK=\"/etc/udev/rules.d\"" > ${BINDIR}/etc/env.d/02udev || die |
206 | } |
207 | |
208 | src_install_udev-dev() |
209 | { |
210 | mmake DESTDIR=${BINDIR} install || die |
211 | |
212 | # cleanup all files but the udev owned ones |
213 | zapmost ${BINDIR} \ |
214 | usr/lib/systemd/system/systemd-udev-control.socket \ |
215 | usr/lib/systemd/system/systemd-udev-kernel.socket \ |
216 | usr/lib/systemd/system/systemd-udev.service \ |
217 | usr/lib/systemd/system/systemd-udev-settle.service \ |
218 | usr/lib/systemd/system/systemd-udev-trigger.service \ |
219 | usr/share/man/man7/udev.7 \ |
220 | usr/share/man/man8/systemd-udevd.8 \ |
221 | usr/share/man/man8/udevadm.8 \ |
222 | usr/share/pkgconfig/udev.pc \ |
223 | || die |
224 | |
225 | minstalldocs LICENSE* NEWS README TODO || die |
226 | } |
227 | |
228 | preinstall_udev() |
229 | { |
230 | add_conf_prot_mask /etc/udev /etc/env.d /etc/rc.d/init.d /etc/modprobe.d |
231 | |
232 | if [[ ! -z $(magequery -n hotplug) ]] |
233 | then |
234 | echo -e ${COLRED} |
235 | echo -e "Error: sys-apps/hotplug is installed!!" |
236 | echo -e "hotplug is now fully provided by udev itself and it is not recommend to use this anymore." |
237 | echo -e "Please uninstall sys-apps/hotplug first!" |
238 | echo -e ${COLDEFAULT} |
239 | die "sys-apps/hotplug found!" |
240 | fi |
241 | |
242 | # move udev state |
243 | if [ ! -L ${MROOT}/lib ] |
244 | then |
245 | if [[ -d ${MROOT}/lib/udev-state ]] |
246 | then |
247 | mv -f ${MROOT}/lib/udev-state/* ${MROOT}/usr/lib/udev/state/ |
248 | rm -r ${MROOT}/lib/udev-state |
249 | fi |
250 | if [[ -d ${MROOT}/lib/udev/state ]] |
251 | then |
252 | mv -f ${MROOT}/lib/udev/state/* ${MROOT}/usr/lib/udev/state/ |
253 | rm -r ${MROOT}/lib/udev/state |
254 | fi |
255 | fi |
256 | |
257 | # remove deprecated udev devices dir |
258 | if [[ -d ${MROOT}/lib/udev/devices ]] |
259 | then |
260 | rm -r ${MROOT}/lib/udev/devices |
261 | fi |
262 | if [[ -d ${MROOT}/usr/lib/udev/devices ]] |
263 | then |
264 | rm -r ${MROOT}/usr/lib/udev/devices |
265 | fi |
266 | |
267 | if [[ -f ${MROOT}/etc/udev/udev.config ]] && |
268 | [[ ! -f ${MROOT}/etc/udev/udev.rules ]] |
269 | then |
270 | mv -f ${MROOT}/etc/udev/udev.config ${MROOT}/etc/udev/udev.rules |
271 | fi |
272 | |
273 | # delete the old udev.hotplug symlink if it is present |
274 | if [[ -h ${MROOT}/etc/hotplug.d/default/udev.hotplug ]] |
275 | then |
276 | rm -f ${MROOT}/etc/hotplug.d/default/udev.hotplug |
277 | fi |
278 | |
279 | # delete the old wait_for_sysfs.hotplug symlink if it is present |
280 | if [[ -h ${MROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug ]] |
281 | then |
282 | rm -f ${MROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug |
283 | fi |
284 | |
285 | # delete the old 10-udev.hotplug symlink if it is present |
286 | if [[ -h ${MROOT}/etc/hotplug.d/default/10-udev.hotplug ]] |
287 | then |
288 | rm -f ${MROOT}/etc/hotplug.d/default/10-udev.hotplug |
289 | fi |
290 | |
291 | # delete the deprectated udev-late rc-script |
292 | [[ -x ${MROOT}/sbin/rc-config ]] && ${MROOT}/sbin/rc-config del udev-late |
293 | |
294 | # delete obsolete hotplug.dev script |
295 | if [[ -f ${MROOT}/etc/dev.d/net/hotplug.dev ]] |
296 | then |
297 | rm -f ${MROOT}/etc/dev.d/net/hotplug.dev |
298 | fi |
299 | |
300 | # delete deprecated pnp-aliases |
301 | if [[ -f ${MROOT}/etc/modprobe.d/pnp-aliases ]] |
302 | then |
303 | rm -f ${MROOT}/etc/modprobe.d/pnp-aliases |
304 | fi |
305 | |
306 | # delete deprecated blacklist |
307 | if [[ -f ${MROOT}/etc/udev/blacklist ]] |
308 | then |
309 | rm -f ${MROOT}/etc/udev/blacklist |
310 | fi |
311 | |
312 | # delete all udev.rules which are moved from /etc/udev to /lib/udev |
313 | local rule |
314 | for rule in 40-arch-s390.rules \ |
315 | 61-persistent-storage-edd.rules \ |
316 | 75-persistent-net-generator.rules \ |
317 | 64-md-raid.rules \ |
318 | 65-permissions.rules \ |
319 | 64-device-mapper.rules \ |
320 | 40-alsa.rules \ |
321 | 40-zaptel.rules \ |
322 | 60-persistent-input.rules \ |
323 | 40-arch-ia64.rules \ |
324 | 05-udev-early.rules \ |
325 | 40-arch-ppc.rules \ |
326 | 60-cdrom_id.rules \ |
327 | 40-pilot-links.rules \ |
328 | 95-udev-late.rules \ |
329 | 40-magellan.rules \ |
330 | 50-udev-default.rules \ |
331 | 80-drivers.rules \ |
332 | 30-kernel-compat.rules \ |
333 | 40-video.rules \ |
334 | 60-persistent-storage-tape.rules \ |
335 | 75-cd-aliases-generator.rules \ |
336 | 60-persistent-storage.rules |
337 | do |
338 | # delete obsolete hotplug.dev script |
339 | if [[ -f ${MROOT}/etc/udev/rules.d/${rule} ]] |
340 | then |
341 | rm -f ${MROOT}/etc/udev/rules.d/${rule} |
342 | fi |
343 | done |
344 | } |
345 | |
346 | postinstall_udev() |
347 | { |
348 | [[ ! -d ${MROOT}/run ]] && install -d ${MROOT}/run |
349 | |
350 | # after install/uprade, udev *must* be reloaded if already running |
351 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && |
352 | [[ -n $(pidof udevd) ]] && [[ ${MAGE_BOOTSTRAP} != true ]] |
353 | then |
354 | echo "MROOT=/; restarting udev daemon ..." |
355 | # support old installations too |
356 | killall -15 udevd &> /dev/null |
357 | killall -15 systemd-udevd &> /dev/null |
358 | sleep 1 |
359 | killall -9 systemd-udevd &> /dev/null |
360 | killall -9 udevd &> /dev/null |
361 | /usr/lib/systemd/systemd-udevd --daemon |
362 | fi |
363 | } |