Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8824 - (hide annotations) (download)
Tue Aug 2 08:22:42 2011 UTC (12 years, 9 months ago) by niro
File size: 6344 byte(s)
-disable dracut-011 atm, broken

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