Magellan Linux

Contents of /smage/trunk/core/systemd/systemd-185-r2.smage2

Parent Directory Parent Directory | Revision Log 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)
-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 }