Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4199 - (show annotations) (download)
Fri Nov 9 09:48:05 2012 UTC (11 years, 7 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 }