Magellan Linux

Annotation of /branches/magellan-next/core/dracut/dracut-013-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9252 - (hide annotations) (download)
Wed Nov 23 20:30:29 2011 UTC (12 years, 5 months ago) by niro
File size: 6679 byte(s)
-added sysvinit-tools dependency for 'pidof'
1 niro 8927 # $Id$
2    
3     PNAME="dracut"
4     PVER="013"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="dracut dracut-network dracut-fips dracut-caps dracut-tools"
8     PCATEGORIE="sys-apps"
9    
10     HOMEPAGE="https://dracut.wiki.kernel.org/"
11    
12     COMMON_DEPEND=">= app-shells/bash-4.2
13     >= app-shells/dash-0.5.6.1
14     >= app-arch/bzip2-1.0.6
15     >= app-arch/gzip-1.4
16     >= app-arch/cpio-2.11
17     >= sys-apps/tar-1.26
18     >= sys-apps/coreutils-8.12
19     >= sys-apps/findutils-4.4
20     >= sys-apps/grep-2.8
21     >= sys-apps/kbd-1.15
22     >= sys-apps/module-init-tools-3.12
23     >= sys-apps/sed-4.2
24     >= sys-apps/eject-2.1.5
25     >= sys-apps/util-linux-2.19
26     >= sys-apps/v86d-0.1.9
27     >= sys-apps/plymouth-0.8.3
28     >= sys-apps/grubby-7.0.17.1
29     >= sys-fs/lvm2-2.02.85
30     >= sys-fs/device-mapper-2.02.85
31 niro 9252 >= sys-fs/udev-171
32     >= sys-apps/sysvinit-tools-2.88"
33 niro 8927
34     # todo nfs, icsci, rpcbind
35     NETWORK_DEPEND=">= sys-apps/iproute2-2.6.38
36     >= net-misc/dhcpcd-5.2
37     >= net-misc/bridge-utils-1.5"
38    
39     CAPS_DEPEND=">= sys-libs/libcap-2.20"
40    
41     SDEPEND="${COMMON_DEPEND}
42     ${NETWORK_DEPEND}
43     ${CAPS_DEPEND}"
44    
45     SRCFILE="${PNAME}-${PVER}.tar.bz2"
46     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
47    
48     sminclude mbuild mtools cleanutils
49    
50     SRC_URI=(
51     http://www.kernel.org/pub/linux/utils/boot/${PNAME}/${SRCFILE}
52     mirror://${PNAME}/${SRCFILE}
53     mirror://${PNAME}/${PNAME}-010-magellan-3.patch
54     mirror://${PNAME}/${PNAME}-012-sysvinit-compat.patch
55     )
56    
57     UP2DATE="updatecmd http://www.kernel.org/pub/linux/utils/boot/${PNAME} | lasttarball"
58    
59     split_info_dracut()
60     {
61     DESCRIPTION="Initramfs generator using udev which fully replaces mkinitrd."
62     DEPEND="${COMMON_DEPEND}"
63    
64     PROVIDE="virtual/initramfs-tools"
65     }
66    
67     split_info_dracut-network()
68     {
69     DESCRIPTION="Dracut modules to build a dracut initramfs with network support."
70     DEPEND="== sys-apps/dracut-${PVER}
71     ${NETWORK_DEPEND}"
72     }
73    
74     split_info_dracut-fips()
75     {
76     DESCRIPTION="Dracut modules to build a dracut initramfs with an integrity check."
77     DEPEND="== sys-apps/dracut-${PVER}"
78     }
79    
80     split_info_dracut-caps()
81     {
82     DESCRIPTION="Dracut modules to build a dracut initramfs which drops capabilities."
83     DEPEND="== sys-apps/dracut-${PVER}
84     ${CAPS_DEPEND}"
85     }
86    
87     split_info_dracut-tools()
88     {
89     DESCRIPTION="Dracut tools to build the local initramfs."
90     DEPEND="== sys-apps/dracut-${PVER}"
91     }
92    
93     src_prepare()
94     {
95     munpack ${SRCFILE} || die
96     cd ${SRCDIR}
97    
98     # magellan compat patch
99     mpatch ${PNAME}-010-magellan-3.patch || die
100    
101     # sysvinit compat patch, don't call reboot with --no-wall
102     # which is only provided by systemctl from systemd
103     mpatch ${PNAME}-012-sysvinit-compat.patch || die
104    
105     # remove gentoo specific modules
106     rm -rf modules.d/50gensplash || die
107     # remove rpm-bases specific modules
108     rm -rf modules.d/10rpmversion || die
109    
110     # fix plymouth libexecdir
111     sed -i "s:/usr/libexec:/usr/$(mlibdir)/plymouth:" \
112     modules.d/50plymouth/module-setup.sh || die
113    
114    
115     # # add uvesafb module with v86d if requested
116     # install -d modules.d/40uvesafb || die
117     # # pretrigger hook
118     # cat > modules.d/40uvesafb/uvesafb-pretrigger.sh || die << EOF
119     # #!/bin/bash
120     # if getargbool 1 rd.uvesafb -n rd_NO_UVESAFB; then
121     # [ ! -c /dev/fb0 -a -e /sbin/v86d ] && modprobe uvesafb
122     # fi
123     # EOF
124     # chmod +x modules.d/40uvesafb/uvesafb-pretrigger.sh || die
125     # # module-setup
126     # cat > modules.d/40uvesafb/module-setup.sh || die << EOF
127     # #!/bin/bash
128     #
129     # check() {
130     # [ -x /sbin/v86d -a -f "$srcmods/kernel/drivers/video/uvesafb.ko" ]
131     # }
132     #
133     # depends() {
134     # return 0
135     # }
136     #
137     # installkernel() {
138     # hostonly='' instmods uvesafb
139     # }
140     #
141     # install() {
142     # dracut_install /sbin/v86d
143     # inst_hook pre-trigger 9 "$moddir"/uvesafb-pretrigger.sh
144     # }
145     # EOF
146     # chmod +x modules.d/40uvesafb/module-setup.sh || die
147     }
148    
149     src_compile()
150     {
151     cd ${SRCDIR}
152     mmake || die
153     }
154    
155     src_install_dracut()
156     {
157     cd ${SRCDIR}
158     mmake DESTDIR=${BINDIR} sysconfdir=/etc sbindir=/sbin install || die
159    
160     # remove modules owned by other packages
161     rm -rf ${BINDIR}/etc/dracut.conf.d/40-fips || die
162     rm -rf ${BINDIR}/usr/share/dracut/modules.d/01fips || die
163     rm -rf ${BINDIR}/usr/share/dracut/modules.d/02caps || die
164     rm -rf ${BINDIR}/usr/share/dracut/modules.d/40network || die
165     rm -rf ${BINDIR}/usr/share/dracut/modules.d/90livenet || die
166     rm -rf ${BINDIR}/usr/share/dracut/modules.d/95fcoe || die
167     rm -rf ${BINDIR}/usr/share/dracut/modules.d/95iscsi || die
168     rm -rf ${BINDIR}/usr/share/dracut/modules.d/95nbd || die
169     rm -rf ${BINDIR}/usr/share/dracut/modules.d/95nfs || die
170     rm -rf ${BINDIR}/usr/share/dracut/modules.d/45ifcfg || die
171     rm -rf ${BINDIR}/usr/share/dracut/modules.d/95znet || die
172     rm -rf ${BINDIR}/usr/share/dracut/modules.d/01fips || die
173     rm -rf ${BINDIR}/usr/share/man/man8/dracut-gencmdline.8* || die
174     rm -rf ${BINDIR}/usr/share/man/man8/dracut-catimages.8* || die
175     rm -rf ${BINDIR}/sbin/dracut-gencmdline || die
176     rm -rf ${BINDIR}/sbin/dracut-catimages || die
177    
178     # needed directories
179     mkeepdir /var/initramfs || die
180     mkeepdir /var/log || die
181     memptyfile /var/log/dracut.log || die
182    
183     minstalldocs AUTHORS COPYING HACKING NEWS README* TODO || die
184     }
185    
186     src_install_dracut-network()
187     {
188     cd ${SRCDIR}
189     mmake DESTDIR=${BINDIR} sysconfdir=/etc sbindir=/sbin install || die
190    
191     # keep only related stuff
192     zapmost ${BINDIR} \
193     usr/share/dracut/modules.d/40network \
194     usr/share/dracut/modules.d/90livenet \
195     usr/share/dracut/modules.d/95fcoe \
196     usr/share/dracut/modules.d/95iscsi \
197     usr/share/dracut/modules.d/95nbd \
198     usr/share/dracut/modules.d/95nfs \
199     usr/share/dracut/modules.d/45ifcfg \
200     usr/share/dracut/modules.d/95znet \
201     || die
202     }
203    
204     src_install_dracut-fips()
205     {
206     cd ${SRCDIR}
207     mmake DESTDIR=${BINDIR} sysconfdir=/etc sbindir=/sbin install || die
208     minstalldir /etc/dracut.conf.d || die
209     minstallfile dracut.conf.d/fips.conf.example /etc/dracut.conf.d/40-fips.conf || die
210    
211     # keep only related stuff
212     zapmost ${BINDIR} etc/dracut.conf.d/40-fips usr/share/dracut/modules.d/01fips || die
213     }
214    
215     src_install_dracut-caps()
216     {
217     cd ${SRCDIR}
218     mmake DESTDIR=${BINDIR} sysconfdir=/etc sbindir=/sbin install || die
219    
220     # keep only related stuff
221     zapmost ${BINDIR} usr/share/dracut/modules.d/02caps || die
222     }
223    
224     src_install_dracut-tools()
225     {
226     cd ${SRCDIR}
227     mmake DESTDIR=${BINDIR} sysconfdir=/etc sbindir=/sbin install || die
228    
229     # keep only related stuff
230     zapmost ${BINDIR} \
231     usr/share/man/man8/dracut-gencmdline.8\* \
232     usr/share/man/man8/dracut-catimages.8\* \
233     sbin/dracut-gencmdline \
234     sbin/dracut-catimages \
235     || die
236    
237     mkeepdir /boot/dracut || die
238     mkeepdir /var/lib/dracut || die
239     mkeepdir /var/lib/dracut/overlay || die
240     }
241    
242     preinstall()
243     {
244     if [[ ! -z $(magequery -n mkinitrd) ]]
245     then
246     echo -e ${COLRED}
247     echo -e "Error: sys-apps/mkinitrd is installed!!"
248     echo -e "dracut will overwrite binaries from sys-apps/mkinitrd and fully replace it."
249     echo -e "Please uninstall sys-apps/mkinitrd first!"
250     echo -e ${COLDEFAULT}
251     die "sys-apps/mkinitrd found!"
252     fi
253     }