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