Contents of /smage/trunk/core/systemd/systemd-185-r2.smage2
Parent Directory | Revision Log
Revision 3990 -
(show annotations)
(download)
Mon Jul 30 18:14:43 2012 UTC (11 years, 10 months ago) by niro
File size: 9064 byte(s)
Mon Jul 30 18:14:43 2012 UTC (11 years, 10 months ago) by niro
File size: 9064 byte(s)
-fixed udev.rc to work with newer versions
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 |
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 | # fix rootlink install location |
101 | sed -i "s:^\(udevdir=\).*:\1/usr/lib/udev:" ${UDEV_CONFIG_SRCDIR}/Makefile || die |
102 | |
103 | # regen configure |
104 | mautoreconf || die |
105 | } |
106 | |
107 | src_compile() |
108 | { |
109 | mconfigure \ |
110 | --with-distro=magellan \ |
111 | --libexecdir=/usr/lib \ |
112 | --localstatedir=/var \ |
113 | --disable-ima \ |
114 | --disable-audit \ |
115 | --disable-selinux \ |
116 | --disable-pam \ |
117 | --disable-tcpwrap \ |
118 | --disable-xz \ |
119 | --disable-acl \ |
120 | --disable-libcryptsetup \ |
121 | --disable-plymouth \ |
122 | --disable-gudev \ |
123 | --disable-introspection \ |
124 | --with-pci-ids-path=no \ |
125 | --with-usb-ids-path=no \ |
126 | --with-firmware-path=/usr/lib/firmware/updates:/usr/lib/firmware:/lib/firmware/updates:/lib/firmware \ |
127 | --disable-binfmt \ |
128 | --disable-vconsole \ |
129 | --disable-readahead \ |
130 | --disable-quotacheck \ |
131 | --disable-randomseed \ |
132 | --disable-logind \ |
133 | --disable-hostnamed \ |
134 | --disable-timedated \ |
135 | --disable-localed \ |
136 | --disable-coredump \ |
137 | --disable-keymap \ |
138 | --disable-manpages \ |
139 | || die |
140 | |
141 | mmake || die |
142 | } |
143 | |
144 | src_install_libudev() |
145 | { |
146 | mmake DESTDIR=${BINDIR} install || die |
147 | |
148 | # cleanup all files but the libudev owned ones |
149 | zapmost ${BINDIR} \ |
150 | usr/$(mlibdir)/libudev.so.* \ |
151 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libudev.so.*') \ |
152 | || die |
153 | } |
154 | |
155 | src_install_libudev-dev() |
156 | { |
157 | mmake DESTDIR=${BINDIR} install || die |
158 | |
159 | # cleanup all files but the libudev owned ones |
160 | zapmost ${BINDIR} \ |
161 | usr/include/libudev.h \ |
162 | usr/$(mlibdir)/libudev.so \ |
163 | usr/$(mlibdir)/pkgconfig/libudev.pc \ |
164 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libudev.so') \ |
165 | $([[ $(mlibdir) != lib ]] && echo 'usr/lib/pkgconfig/libudev.pc') \ |
166 | || die |
167 | } |
168 | |
169 | src_install_udev() |
170 | { |
171 | mmake DESTDIR=${BINDIR} install || die |
172 | |
173 | # cleanup all files but the udev owned ones |
174 | zapmost ${BINDIR} \ |
175 | usr/bin/udevadm \ |
176 | usr/lib/systemd/systemd-udevd \ |
177 | usr/lib/udev \ |
178 | || die |
179 | |
180 | # remove udev rule for systemd |
181 | mdelete /usr/lib/udev/rules.d/99-systemd.rules || die |
182 | |
183 | # install our config |
184 | cd ${UDEV_CONFIG_SRCDIR} |
185 | make DESTDIR=${BINDIR} install || die |
186 | |
187 | # install sysvinit rc. script |
188 | make DESTDIR=${BINDIR} install-sysvinit || die |
189 | |
190 | # udev writerootlink rule is required by busybox |
191 | make DESTDIR=${BINDIR} install-writerootlink || die |
192 | |
193 | # create symlinks for these utilities to /sbin |
194 | minstalldir /usr/sbin || die |
195 | # where multipath-tools expect them to be |
196 | mlink ../lib/udev/scsi_id /usr/sbin/ || die |
197 | |
198 | # mark some dirs undeletable |
199 | mkeepdir /etc/udev/rules.d || die |
200 | mkeepdir /usr/lib/udev/state || die |
201 | |
202 | # CONFIG_PROTECT_MASK for /etc/udev/rules.d |
203 | minstalldir /etc/env.d || die |
204 | echo "CONFIG_PROTECT_MASK=\"/etc/udev/rules.d\"" > ${BINDIR}/etc/env.d/02udev || die |
205 | } |
206 | |
207 | src_install_udev-dev() |
208 | { |
209 | mmake DESTDIR=${BINDIR} install || die |
210 | |
211 | # cleanup all files but the udev owned ones |
212 | zapmost ${BINDIR} \ |
213 | usr/lib/systemd/system/systemd-udev-control.socket \ |
214 | usr/lib/systemd/system/systemd-udev-kernel.socket \ |
215 | usr/lib/systemd/system/systemd-udev.service \ |
216 | usr/lib/systemd/system/systemd-udev-settle.service \ |
217 | usr/lib/systemd/system/systemd-udev-trigger.service \ |
218 | usr/share/man/man7/udev.7 \ |
219 | usr/share/man/man8/systemd-udevd.8 \ |
220 | usr/share/man/man8/udevadm.8 \ |
221 | usr/share/pkgconfig/udev.pc \ |
222 | || die |
223 | |
224 | minstalldocs LICENSE* NEWS README TODO || die |
225 | } |
226 | |
227 | preinstall_udev() |
228 | { |
229 | add_conf_prot_mask /etc/udev /etc/env.d /etc/rc.d/init.d /etc/modprobe.d |
230 | |
231 | if [[ ! -z $(magequery -n hotplug) ]] |
232 | then |
233 | echo -e ${COLRED} |
234 | echo -e "Error: sys-apps/hotplug is installed!!" |
235 | echo -e "hotplug is now fully provided by udev itself and it is not recommend to use this anymore." |
236 | echo -e "Please uninstall sys-apps/hotplug first!" |
237 | echo -e ${COLDEFAULT} |
238 | die "sys-apps/hotplug found!" |
239 | fi |
240 | |
241 | # move udev state |
242 | if [[ -d ${MROOT}/lib/udev-state ]] |
243 | then |
244 | mv -f ${MROOT}/lib/udev-state/* ${MROOT}/usr/lib/udev/state/ |
245 | rm -r ${MROOT}/lib/udev-state |
246 | fi |
247 | if [[ -d ${MROOT}/lib/udev/state ]] |
248 | then |
249 | mv -f ${MROOT}/lib/udev/state/* ${MROOT}/usr/lib/udev/state/ |
250 | rm -r ${MROOT}/lib/udev/state |
251 | fi |
252 | |
253 | # remove deprecated udev devices dir |
254 | if [[ -d ${MROOT}/lib/udev/devices ]] |
255 | then |
256 | rm -r ${MROOT}/lib/udev/devices |
257 | fi |
258 | if [[ -d ${MROOT}/usr/lib/udev/devices ]] |
259 | then |
260 | rm -r ${MROOT}/usr/lib/udev/devices |
261 | fi |
262 | |
263 | if [[ -f ${MROOT}/etc/udev/udev.config ]] && |
264 | [[ ! -f ${MROOT}/etc/udev/udev.rules ]] |
265 | then |
266 | mv -f ${MROOT}/etc/udev/udev.config ${MROOT}/etc/udev/udev.rules |
267 | fi |
268 | |
269 | # delete the old udev.hotplug symlink if it is present |
270 | if [[ -h ${MROOT}/etc/hotplug.d/default/udev.hotplug ]] |
271 | then |
272 | rm -f ${MROOT}/etc/hotplug.d/default/udev.hotplug |
273 | fi |
274 | |
275 | # delete the old wait_for_sysfs.hotplug symlink if it is present |
276 | if [[ -h ${MROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug ]] |
277 | then |
278 | rm -f ${MROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug |
279 | fi |
280 | |
281 | # delete the old 10-udev.hotplug symlink if it is present |
282 | if [[ -h ${MROOT}/etc/hotplug.d/default/10-udev.hotplug ]] |
283 | then |
284 | rm -f ${MROOT}/etc/hotplug.d/default/10-udev.hotplug |
285 | fi |
286 | |
287 | # delete the deprectated udev-late rc-script |
288 | [[ -x ${MROOT}/sbin/rc-config ]] && ${MROOT}/sbin/rc-config del udev-late |
289 | |
290 | # delete obsolete hotplug.dev script |
291 | if [[ -f ${MROOT}/etc/dev.d/net/hotplug.dev ]] |
292 | then |
293 | rm -f ${MROOT}/etc/dev.d/net/hotplug.dev |
294 | fi |
295 | |
296 | # delete deprecated pnp-aliases |
297 | if [[ -f ${MROOT}/etc/modprobe.d/pnp-aliases ]] |
298 | then |
299 | rm -f ${MROOT}/etc/modprobe.d/pnp-aliases |
300 | fi |
301 | |
302 | # delete deprecated blacklist |
303 | if [[ -f ${MROOT}/etc/udev/blacklist ]] |
304 | then |
305 | rm -f ${MROOT}/etc/udev/blacklist |
306 | fi |
307 | |
308 | # delete all udev.rules which are moved from /etc/udev to /lib/udev |
309 | local rule |
310 | for rule in 40-arch-s390.rules \ |
311 | 61-persistent-storage-edd.rules \ |
312 | 75-persistent-net-generator.rules \ |
313 | 64-md-raid.rules \ |
314 | 65-permissions.rules \ |
315 | 64-device-mapper.rules \ |
316 | 40-alsa.rules \ |
317 | 40-zaptel.rules \ |
318 | 60-persistent-input.rules \ |
319 | 40-arch-ia64.rules \ |
320 | 05-udev-early.rules \ |
321 | 40-arch-ppc.rules \ |
322 | 60-cdrom_id.rules \ |
323 | 40-pilot-links.rules \ |
324 | 95-udev-late.rules \ |
325 | 40-magellan.rules \ |
326 | 50-udev-default.rules \ |
327 | 80-drivers.rules \ |
328 | 30-kernel-compat.rules \ |
329 | 40-video.rules \ |
330 | 60-persistent-storage-tape.rules \ |
331 | 75-cd-aliases-generator.rules \ |
332 | 60-persistent-storage.rules |
333 | do |
334 | # delete obsolete hotplug.dev script |
335 | if [[ -f ${MROOT}/etc/udev/rules.d/${rule} ]] |
336 | then |
337 | rm -f ${MROOT}/etc/udev/rules.d/${rule} |
338 | fi |
339 | done |
340 | } |
341 | |
342 | postinstall_udev() |
343 | { |
344 | [[ ! -d ${MROOT}/run ]] && install -d ${MROOT}/run |
345 | |
346 | # after install/uprade, udev *must* be reloaded if already running |
347 | if [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] && |
348 | [[ -n $(pidof udevd) ]] && [[ ${MAGE_BOOTSTRAP} != true ]] |
349 | then |
350 | echo "MROOT=/; restarting udev daemon ..." |
351 | # support old installations too |
352 | killall -15 udevd &> /dev/null |
353 | killall -15 systemd-udevd &> /dev/null |
354 | sleep 1 |
355 | killall -9 systemd-udevd &> /dev/null |
356 | killall -9 udevd &> /dev/null |
357 | /usr/lib/systemd/systemd-udevd --daemon |
358 | fi |
359 | } |