]> git.pld-linux.org Git - packages/anaconda.git/blame - anaconda-upd-instroot
- merge deps from FC, part2
[packages/anaconda.git] / anaconda-upd-instroot
CommitLineData
3e6a3a30
PZ
1#!/bin/bash
2
3ORIGDIR=`pwd`
4COMPONENT=""
5DEBUG=""
6
7if [ "$1" == "--debug" ]; then
8 DEBUG="--debug"
9 shift
10fi
11
12if [ "$1" == "--comp" ]; then
13 COMPONENT=$2
14 shift; shift
15fi
16
17if [ -z "$1" ]; then
18 echo "upd-instroot: updates instimage from a Red Hat RPMS directory"
19 echo "usage: $0 --comp <comp> <packagedir> [templatedir] [instroot]"
20 exit 1
21fi
22
23if [ ! -d $1 ]; then
24 if [ -z "$ARCH" ]; then
25 echo "ARCH must be set" >&2
26 exit 1
27 fi
28 LATEST="latest --arch $ARCH"
29fi
30
31PACKAGEDIR=$1
32
33if [ -z "$ARCH" ]; then
34 ARCH=`rpm --nodigest --nosignature -qp --qf "%{ARCH}" $PACKAGEDIR/anaconda-runtime*.rpm`
35fi
36
37if [ $ARCH = x86_64 -o $ARCH = s390x ]; then
38 LIBDIR=lib64
39else
40 LIBDIR=lib
41fi
42
43NEEDGR=yes
44
45prunePackageList() {
46 PACKAGEPATH=$1
47 PACKAGES="$2"
48
49 if [ -n "$LATEST" ]; then
50 $LATEST $PACKAGEPATH $PACKAGES
51 if [ $? != 0 ]; then
52 $LATEST $PACKAGEPATH $PACKAGES >&2
53 kill -9 $$
54 fi
55
56 return
57 fi
58
59 PATTERN=""
60 PACKAGEFILES=""
61 for PKG in $PACKAGES; do
62 PATTERN="${PATTERN:+${PATTERN}|}(^$PKG )"
63 PACKAGEFILES="$PACKAGEFILES $(ls $PACKAGEPATH/$PKG*{$ARCH,noarch}.rpm 2>/dev/null)"
64 done
65
66 # gtk+, enough said
67 PATTERN=$(echo $PATTERN | sed 's,[\+\*],\\&,g')
68
69 PACKAGEFILES=$(ls $PACKAGEFILES | sort -u)
70
71 rpm --nodigest --nosignature --qf "%{NAME} $PACKAGEPATH/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n" \
72 -qp $PACKAGEFILES | egrep "$PATTERN" | sed 's/.* //'
73}
74
75expandPackageSet() {
76 RPMS=$1
77 PKGDEST=$2
78 KEEPFILES=$3
79
80 [ -d $PKGDEST ] || die "ERROR: directory missing: $PKGDEST"
81 for n in $RPMS; do
82 [ -n "$DEBUG" ] && echo -ne "\rExpanding packages..." $(basename $n)
83 if [ "$(rpm --nosignature --nodigest -qp --qf '%{NAME}' $n)" = "glibc-misc" ] ; then
84 TZDATA=$n
85 fi
86 rpm2cpio $n | (cd $PKGDEST; cpio -E $KEEPFILES --quiet -iumd)
87 [ -n "$DEBUG" ] && echo -ne "\rExpanding packages..." "$(basename $n | sed 's/./ /g')"
88 done
89 pushd $PKGDEST/$LIBDIR >/dev/null 2>&1
90 if [ -d obsolete/linuxthreads/ ]; then
91 for x in obsolete/linuxthreads/*-* ; do
92 lib_base=$(basename $x | cut -d- -f1)
93 rm -f ./$lib_base[.-]*
94 mv -f obsolete/linuxthreads/$lib_base[.-]* .
95 done
96 rmdir obsolete/linuxthreads obsolete
97 fi
98 popd >/dev/null 2>&1
99}
100
101die () {
102 echo "$@"
103 echo "Aborting instroot creation..."
104 exit 1
105}
106
107if [ -z "$2" ]; then
108 DEST=/tmp/upd-instroot
109else
110 DEST=$2
111fi
112
113if [ -z "$3" ]; then
114 DESTGR=/tmp/upd-instroot
115else
116 DESTGR=$3
117fi
118
119rm -rf $DEST $DESTGR
120mkdir -p $DEST
121mkdir -p $DESTGR
122
123# glibc-misc for timezone data (was tzdata)
124# libtermcap
125
126PACKAGES="acl anaconda anaconda-runtime ash attr
127 bash beecrypt bogl bogl-bterm busybox-anaconda bzip2 bzip2-libs
ed4bf847 128 device-mapper dlm dmapi dosfstools
3e6a3a30
PZ
129 e2fsprogs elfutils-libelf expat
130 fedora-logos
131 glib2 glibc glibc-misc
132 hdparm hwdata
133 jfsutils
134 kudzu
135 libgcc libselinux libsepol libstdc++ libxml2 lvm2
136 mdadm
137 ncurses neon newt
138 openssl
139 parted pciutils policy policycoreutils popt procps python python-booty python-libs python-libxml2 python-parted python-rhpl python-rpm python-urlgrabber python-xf86config
140 readline reiserfsprogs rpm rpm-lib
141 sed setup slang sqlite
142 util-linux
143 xfsdump xfsprogs
144 zlib
f4a595e1
PZ
145 X11 X11-tools
146 "
3e6a3a30
PZ
147
148if [ $ARCH = i686 -o $ARCH = x86_64 ]; then
f4a595e1 149 PACKAGES="$PACKAGES pcmcia-cs"
3e6a3a30
PZ
150fi
151
152if [ $ARCH = ia64 ]; then
153 PACKAGES="$PACKAGES elilo"
154fi
155
156if [ $ARCH = s390 -o $ARCH = s390x ]; then
157 PACKAGES="$PACKAGES s390utils binutils libgcc tcp_wrappers
158 sed net-tools xinetd openssl openssh openssh-server coreutils
159 login initscripts XFree86-xauth bash portmap pam
160 telnet-server login mount grep modutils gawk
161 XFree86-libs strace xorg-x11-xauth xorg-x11-libs"
162fi
163
164if [ $ARCH = ppc -o $ARCH = ppc64 ]; then
165 PACKAGES="$PACKAGES kernel-pcmcia-cs pdisk yaboot hfsutils"
166fi
167
168# xpm is missing
169
170# Some packages are listed twice, but that's okay
171#
172# The packages in this list are needed for the graphical installer to run
173#
174# Extra stuff we want for rescue mode should go in PACKAGESRESCUE
175#
f4a595e1
PZ
176PACKAGESGR="acl anaconda anaconda-help anaconda-images attr audit-libs
177 bash bogl-bterm bogl-devel
178 comps-extras coreutils cpio
179 dmapi
180 e2fsprogs expat
181 fedora-logos fontconfig freetype
182 gdk-pixbuf glibc glibc-misc gnome-themes gpm gtk+2 gtk2-engines
183 libacl libattr libart_lgpl libgcc libglade2 libgnomecanvas libjpeg libpng libstdc++
184 pam policy policycoreutils popt prelink procps python-gnome-canvas python-pygtk python-pygtk-libglade python-rhpl
185 redhat-artwork reiserfsprogs rpm rpm-libs
186 selinux-policy-targeted specspo system-config-keyboard system-config-date
187 tcp_wrappers
188 util-linux
189 vnc-server
190 xfsprogs xfsdump
191 X11 X11-fonts-100dpi X11-fonts-100dpi-ISO8859-15 X11-fonts-100dpi-ISO8859-2 X11-fonts-100dpi-ISO8859-9 X11-fonts-75dpi X11-fonts-75dpi-ISO8859-15 X11-fonts-75dpi-ISO8859-2 X11-fonts-75dpi-ISO8859-9 X11-fonts-base X11-fonts-ISO8859-15 X11-fonts-ISO8859-2 X11-fonts-ISO8859-9 X11-fonts-KOI8-R X11-libs X11-xfs Xconfigurator
192 "
3e6a3a30
PZ
193#
194# stuff ONLY included for rescue mode
195#
196# these packages are combined with the PACKAGES and PACKAGESGR for big stage 2
197#
198PACKAGESRESCUE="bzip2 bzip2-libs dump
f4a595e1 199 findutils ftp gzip iputils joe krb5-libs less man man-config man-pages
3e6a3a30
PZ
200 modutils mtools mt-st mtr net-tools open
201 openssh openssh-clients pciutils rsh traceroute tar"
202
203if [ $ARCH = i386 ]; then
204 PACKAGESRESCUE="$PACKAGESRESCUE"
205fi
206
207# turn off options we dont want, ie. set package list to something harmless
208if [ -z "$NEEDGR" ]; then
209 PACKAGESGR="bash"
210 PACKAGESRESCUE="bash"
211fi
212
213#
214# add bootloader for particular arch
215#
216if [ $ARCH = sparc ]; then
217 PACKAGESGR="$PACKAGESGR tilo silo"
218fi
219
220if [ $ARCH = i686 -o $ARCH = x86_64 ]; then
221 PACKAGESGR="$PACKAGESGR syslinux memtest86+"
222fi
223
224if [ $ARCH = alpha ]; then
225 PACKAGESGR="$PACKAGESGR aboot"
226fi
227
228if [ $ARCH = ia64 ]; then
229 PACKAGESGR="$PACKAGESGR elilo"
230fi
231
232if [ $ARCH = ppc ]; then
233 PACKAGESGR="$PACKAGESGR fbset yaboot ppc64-utils"
234fi
235
236#
237# KEEPFILE is all files to keep from the packages in PACKAGES
238#
239# This is what is present in http, ftp, and hard drive installs, and is
240# supposed to be a small image because these methods keep it in RAM.
241#
242# It also is the base on which the other install images build on top of,
243# so if something is needed by all images it should go here
244#
245KEEPFILE=/tmp/keepfile.$$
246
247cat > $KEEPFILE <<EOF
248boot/efi/EFI/redhat/elilo.efi
249bin/ash
250bin/fdisk*
251bin/mkfs*
252bin/sed
253etc/group
254etc/passwd
255etc/protocols
256etc/services
257etc/selinux/targeted/booleans
258etc/selinux/targeted/policy/policy.*
259etc/selinux/targeted/contexts/files/file_contexts
260etc/security/selinux/policy.*
261etc/security/selinux/file_contexts
262$LIBDIR/libc[-.]*
263$LIBDIR/libm[-.]*
264$LIBDIR/libpthread*
265$LIBDIR/librt[-.]*
266$LIBDIR/ld*.so*
267$LIBDIR/libblkid*
268$LIBDIR/libcom_err*
269$LIBDIR/libcrypt*
270$LIBDIR/libdevmapper*
271$LIBDIR/libdl*
272$LIBDIR/libe2p*
273$LIBDIR/libext2fs*
274$LIBDIR/liblvm-10.so*
275$LIBDIR/libgcc_s*
276$LIBDIR/libnsl*
277$LIBDIR/libnss_dns*
278$LIBDIR/libnss_files*
279$LIBDIR/libresolv*
280$LIBDIR/libselinux*
281$LIBDIR/libsepol*
282$LIBDIR/libss*
283$LIBDIR/libtermcap*
284$LIBDIR/libhandle*
285$LIBDIR/libattr*
286$LIBDIR/libdm*
287$LIBDIR/libutil*
288$LIBDIR/libuuid*
289sbin/badblocks
290sbin/busybox.anaconda
291sbin/clock
292sbin/debugfs
293sbin/e2fsck
294sbin/e2fsadm
295sbin/e2label
296sbin/fsck.ext2
297sbin/fsck.ext3
298sbin/fsck.jfs
299sbin/fsck.xfs
300sbin/fdisk
301sbin/hdparm
302sbin/hwclock
303sbin/jfs_tune
304sbin/ldconfig
305sbin/lvm*
306sbin/mdadm
307sbin/mkdosfs
308sbin/mke2fs
309sbin/mkfs.ext2
310sbin/mkfs.ext3
311sbin/mkfs.jfs
312sbin/mkfs.xfs
313sbin/mkfs.msdos
314sbin/mkfs.vfat
315sbin/mkreiserfs
316sbin/mkraid
317sbin/mkswap
318sbin/parted
319sbin/pdisk
320sbin/probe
321sbin/resize2fs
322sbin/sfdisk
323sbin/tune2fs
324sbin/xfsdump
325sbin/xfsrestore
326sbin/xfs_repair
327usr/sbin/xfs_db
328usr/sbin/xfs_check
329usr/sbin/xfs_copy
330usr/X11R6/share/Xconfigurator/MonitorsDB
331usr/bin/python
332usr/bin/python?.?
333usr/bin/hmount
334usr/bin/humount
335usr/bin/hcopy
336usr/bin/hattrib
337usr/bin/hformat
338usr/lib/anaconda-runtime/*
339usr/lib/anaconda/*
340usr/lib/anaconda/installclasses/*
341usr/lib/anaconda/textw/*
342usr/$LIBDIR/bogl/font.bgf.gz
343usr/lib/booty/*
344usr/kerberos/$LIBDIR/libkrb5.so*
345usr/kerberos/$LIBDIR/libkrb5support.so*
346usr/kerberos/$LIBDIR/libk5crypto.so*
347usr/kerberos/$LIBDIR/libcom_err.so*
348usr/kerberos/$LIBDIR/libgssapi_krb5.so*
349usr/$LIBDIR/libkrb5.so*
350usr/$LIBDIR/libkrb5support.so*
351usr/$LIBDIR/libk5crypto.so*
352usr/$LIBDIR/libcom_err.so*
353usr/$LIBDIR/libgssapi_krb5.so*
354usr/$LIBDIR/gconv/ISO8859-1.so
355usr/$LIBDIR/gconv/gconv-modules
356usr/$LIBDIR/libbeecrypt*
357usr/$LIBDIR/libexpat*
358usr/$LIBDIR/libglib*
359usr/$LIBDIR/libgmodule*
360usr/$LIBDIR/libgobject*
361usr/$LIBDIR/libgthread*
362usr/$LIBDIR/libssl*
363usr/$LIBDIR/libcrypto*
364usr/$LIBDIR/libbz2*
365usr/$LIBDIR/libelf*
366usr/$LIBDIR/libncurses*
367usr/$LIBDIR/libnewt*
368usr/$LIBDIR/libparted*
369usr/$LIBDIR/libpopt*
370usr/$LIBDIR/libpython*
371usr/$LIBDIR/libneon*
372usr/$LIBDIR/libsqlite3*
373usr/$LIBDIR/librpm-*4.?.so*
374usr/$LIBDIR/librpmbuild-*4.?.so*
375usr/$LIBDIR/librpmdb*4.?.so*
376usr/$LIBDIR/librpmio*4.?.so*
377usr/$LIBDIR/libslang*
378usr/$LIBDIR/libstdc++.so.6*
379usr/$LIBDIR/libxml2.so*
380usr/$LIBDIR/libz.*
381usr/$LIBDIR/libbogl.so*
382usr/$LIBDIR/libreadline*
383usr/$LIBDIR/python?.?/*
384usr/$LIBDIR/python?.?/site-packages/libxml2*
385usr/$LIBDIR/python?.?/site-packages/*kudzu*
386usr/$LIBDIR/python?.?/site-packages/rpmmodule.so
387usr/$LIBDIR/python?.?/site-packages/partedmodule.so
388usr/$LIBDIR/python?.?/site-packages/ixf86configmodule.so
389usr/$LIBDIR/python?.?/site-packages/xf86config.py
390usr/$LIBDIR/python?.?/site-packages/rhpl
391usr/share/locale/*
392usr/lib/python?.?/site-packages/urlgrabber/*
393usr/lib/rpm/macros
394usr/lib/rpm/rpmpopt
395usr/lib/rpm/rpmrc
396usr/lib/yaboot/addnote
397usr/lib/yaboot/ofboot
398usr/lib/yaboot/yaboot
399usr/libexec/convertdb1
400usr/share/locale/*/LC_MESSAGES/anaconda.mo
401usr/share/locale/locale.alias
402usr/sbin/anaconda
403usr/sbin/ddcprobe
404usr/sbin/dmidecode
405usr/sbin/mkofboot
406usr/sbin/ofpath
407usr/sbin/ybin
408usr/sbin/load_policy
409usr/sbin/lvm
410usr/sbin/build-locale-archive
411usr/share/anaconda/locale-list
412usr/share/anaconda/anaconda.conf
413usr/share/terminfo/b/bterm
414usr/share/terminfo/l/linux
415usr/share/terminfo/v/vt100
416usr/share/terminfo/v/vt100-nav
417usr/share/hwdata/pcitable
418usr/share/hwdata/pci.ids
419usr/share/hwdata/Cards
420usr/share/hwdata/MonitorsDB
421usr/share/rhpl/extramodes
422usr/share/rhpl/vesamodes
423EOF
424
425if [ $ARCH = s390 -o $ARCH = s390x ]; then
426 cat >> $KEEPFILE <<EOF
427usr/share/terminfo/a/ansi
428usr/share/terminfo/d/dumb
429usr/share/terminfo/k/kterm
430usr/share/terminfo/s/screen
431usr/share/terminfo/v/vt100
432usr/share/terminfo/v/vt100-nav
433usr/share/terminfo/v/vt102
434usr/share/terminfo/x/xterm
435usr/share/terminfo/x/xterm-color
436usr/bin/strace
437usr/bin/ldd
438usr/sbin/chroot
439usr/sbin/sshd
440usr/sbin/glibc_post_upgrade
441usr/sbin/in.telnetd
442usr/sbin/xinetd
443sbin/cmsfslst
444sbin/cmsfscat
445sbin/busybox.anaconda
446sbin/ifconfig
447sbin/route
448sbin/portmap
449sbin/fdasd
450sbin/dasdfmt
451sbin/swapon
452sbin/swapoff
453sbin/mkswap
454bin/bash
455bin/dd
456bin/gawk
457bin/mount
458bin/umount
459bin/mknod
460bin/sleep
461bin/login
462bin/cat
463bin/chmod
464bin/sort
465$LIBDIR/libpam.so*
466$LIBDIR/libdl.so*
467$LIBDIR/libdl-*.so*
468usr/$LIBDIR/libz.so*
469$LIBDIR/libnsl.so*
470$LIBDIR/libnsl-*.so*
471$LIBDIR/libnss*
472$LIBDIR/libutil.so*
473$LIBDIR/libutil-*.so*
474$LIBDIR/libcrypt*
475$LIBDIR/libc.so*
476$LIBDIR/libc-*so*
477lib/ld*.so*
478$LIBDIR/ld*.so*
479$LIBDIR/libresolv.so*
480$LIBDIR/libresolv-*.so*
481$LIBDIR/libvtoc*.so*
482lib/modules/ibm/*
483etc/xinetd.conf
484etc/pam.d/sshd
485etc/pam.d/other
486etc/security/limits.conf
487etc/security/pam_env.conf
488lib/security
489$LIBDIR/security/pam_*
490usr/$LIBDIR/libwrap.so*
491usr/X11R6/$LIBDIR/libXmuu.so*
492usr/X11R6/$LIBDIR/libX11.so*
493usr/X11R6/$LIBDIR/libXext.so*
494usr/X11R6/$LIBDIR/libXxf86misc.so*
495usr/X11R6/bin/xauth
496EOF
497fi
498
499#
500# KEEPFILEGR is all files to keep from the packages in PACKAGESGR
501#
502# This defines the files in addition to KEEPFILE that make up the install
503# images for NFS and CD/DVD based installs. This image is not loaded into
504# memory so it can be considerably larger.
505#
506# The rescue mode of anaconda uses these files as well as those defined
507# by KEEPFILERESCUE below. The total size of this image should be
508# under the size of the miniature CD used for the rescue CD (around 68MB).
509#
510KEEPFILEGR=/tmp/keepfilegr.$$
511cp $KEEPFILE $KEEPFILEGR
512cat >> $KEEPFILEGR <<EOF
513boot/efi/EFI/redhat/elilo.efi
514boot/memtest86*
515bin/bash
516bin/cat
517bin/chmod
518bin/cp
519bin/cpio
520bin/dd
521bin/df
522bin/du
523bin/ln
524bin/ls
525bin/mkdir
526bin/mv
527bin/ps
528bin/rm
529bin/rpm
530bin/touch
531boot/*.b
532boot/bootlx
533etc/fb.modes
534etc/gtk-2.0/gtkrc*
535etc/im_palette.pal
536etc/imrc
537etc/man.config
538etc/pango/*
539etc/fonts/*
540etc/prelink.conf
541etc/rpm/macros.prelink
542$LIBDIR/libacl*
543$LIBDIR/libattr*
544$LIBDIR/libaudit*.so*
545$LIBDIR/libgcc*
546$LIBDIR/libnss_dns*
547$LIBDIR/libpam*
548$LIBDIR/libproc*
549sbin/addRamDisk
550sbin/addSystemMap
551sbin/debugfs
552sbin/e2fsck
553sbin/e2label
554sbin/reiserfsck
555sbin/fsck
556sbin/fsck.ext2
557sbin/fsck.ext3
558sbin/fsck.jfs
559sbin/fsck.reiserfs
560sbin/parted
561sbin/silo
562sbin/tune2fs
563usr/X11R6/bin/XFree86
564usr/X11R6/bin/Xorg
565usr/X11R6/bin/setxkbmap
566usr/X11R6/bin/xsetroot
567usr/X11R6/lib/X11/XKeysymDB
568usr/X11R6/lib/X11/fonts/misc/6x13*
569usr/X11R6/lib/X11/fonts/misc/fonts*
570usr/X11R6/lib/X11/fonts/misc/cursor*
571usr/X11R6/lib/X11/fonts/misc/olcursor*
572usr/X11R6/lib/X11/fonts/Type1/l047013t*
573usr/X11R6/lib/X11/fonts/Type1/*
574usr/X11R6/lib/X11/locale/*
575usr/X11R6/lib/X11/rgb*
576usr/X11R6/lib/X11/xkb/*
577usr/X11R6/lib/X11/xserver/SecurityPolicy
578usr/X11R6/$LIBDIR/libICE*
579usr/X11R6/$LIBDIR/libSM*
580usr/X11R6/$LIBDIR/libXaw.so*
581usr/X11R6/$LIBDIR/libX11*
582usr/X11R6/$LIBDIR/libXcursor*
583usr/X11R6/$LIBDIR/libXext*
584usr/X11R6/$LIBDIR/libXfixes*
585usr/X11R6/$LIBDIR/libXft*
586usr/X11R6/$LIBDIR/libXi*
587usr/X11R6/$LIBDIR/libxkbfile*
588usr/X11R6/$LIBDIR/libXmu*
589usr/X11R6/$LIBDIR/libXpm*
590usr/X11R6/$LIBDIR/libXrandr*
591usr/X11R6/$LIBDIR/libXrender*
592usr/X11R6/$LIBDIR/libXt*
593usr/X11R6/$LIBDIR/libXxf86misc*
594usr/X11R6/$LIBDIR/modules/*
595usr/X11R6/share/Xconfigurator/pixmaps/*
596usr/bin/chattr*
597usr/bin/fc-cache
598usr/bin/gtk-query*
599usr/bin/gdk-pixbuf-query-loaders*
600usr/bin/head
601usr/bin/lsattr*
602usr/bin/maketilo
603usr/bin/mini-wm
604usr/bin/pango*
605usr/bin/syslinux
606usr/bin/mkzimage
607usr/bin/tac
608usr/bin/tail
609usr/bin/tilo
610usr/bin/uniq
611usr/bin/Xvnc
612usr/bin/vncconfig
613usr/bin/vncpasswd
614usr/bin/reduce-font
615usr/bin/bdftobogl
616usr/lib/anaconda/iw
617usr/lib/bogl/font.bdf.gz
618usr/$LIBDIR/gconv/*
619usr/$LIBDIR/gdk-pixbuf/loaders/*png*
620usr/$LIBDIR/gdk-pixbuf/loaders/*la*
621usr/$LIBDIR/gtk-2.0/*/engines/libclearlooks.so
622usr/$LIBDIR/gtk-2.0/*/loaders/*png*
623usr/$LIBDIR/gtk-2.0/*/loaders/*la*
624usr/$LIBDIR/gtk-2.0/immodules/
625usr/$LIBDIR/libImlib*
626usr/$LIBDIR/libXft*
627usr/$LIBDIR/libart*
628usr/$LIBDIR/libatk*
629usr/$LIBDIR/libaudio*
630usr/$LIBDIR/libesd*
631usr/$LIBDIR/libfontconfig*
632usr/$LIBDIR/libfreetype*
633usr/$LIBDIR/libgdk*
634usr/$LIBDIR/libglade*
635usr/$LIBDIR/libgnomecanvas*
636usr/$LIBDIR/libgnomeui*
637usr/$LIBDIR/libgpm*
638usr/$LIBDIR/libgtk*
639usr/$LIBDIR/libjpeg*
640usr/$LIBDIR/libpango*
641usr/$LIBDIR/libpng.so.3*
642usr/$LIBDIR/libpng12.so*
643usr/$LIBDIR/libstdc++.so.*
644usr/$LIBDIR/libwrap*
645usr/$LIBDIR/pango/*
646usr/$LIBDIR/python?.?/site-packages/gtk*/gtk/*
647usr/$LIBDIR/rpm/rpmpopt
648usr/lib/syslinux/*
649usr/lib/yaboot/*
650usr/sbin/chroot
651usr/sbin/ddcprobe
652usr/sbin/fbset
653usr/sbin/prelink
654usr/sbin/smartctl
655usr/share/anaconda/*
656usr/share/icons/default/*
657usr/share/icons/gnome/cursors/*
658usr/share/icons/gnome/*/stock/*
659usr/share/icons/gnome/index.theme
660usr/share/fonts/default/Type1/n019003l*
661usr/share/fonts/default/Type1/n019004l*
662usr/share/fonts/default/Type1/n019023l*
663usr/share/fonts/default/Type1/n019024l*
664usr/share/fonts/default/Type1/n021003l*
665usr/share/fonts/default/Type1/n021004l*
666usr/share/fonts/default/Type1/n021023l*
667usr/share/fonts/default/Type1/n021024l*
668usr/share/fonts/korean/TrueType/dotum.ttf
669usr/share/fonts/japanese/TrueType/kochi-gothic-subst.ttf
670usr/share/fonts/chinese/TrueType/gbsn00lp.ttf
671usr/share/fonts/chinese/TrueType/bsmi00lp.ttf
672usr/share/fonts/bengali/MuktiNarrow.ttf
673usr/share/fonts/arabic/KacstFarsi.ttf
674usr/share/fonts/arabic/KacstQura.ttf
675usr/share/fonts/tamil/lohit_ta.ttf
676usr/share/fonts/gujarati/lohit_gu.ttf
677usr/share/fonts/bengali/lohit_bn.ttf
678usr/share/fonts/hindi/lohit_hi.ttf
679usr/share/fonts/panjabi/lohit_pa.ttf
680usr/share/fonts/punjabi/lohit_pa.ttf
681usr/share/locale/*/LC_MESSAGES/anaconda.mo
682usr/share/locale/*/LC_MESSAGES/system-config-date.mo
683usr/share/locale/*/LC_MESSAGES/redhat-dist.mo
684usr/share/locale/*/LC_MESSAGES/system-config-keyboard.mo
685usr/share/locale/*/LC_MESSAGES/gtk20.mo
686usr/share/locale/*/LC_MESSAGES/libc.mo
687usr/share/locale/*/LC_MESSAGES/rhpl.mo
688usr/share/locale/*/LC_MESSAGES/parted.mo
689usr/share/pixmaps/comps/*.png
690usr/share/pixmaps/gnome-default-dlg.png
691usr/share/pixmaps/gnome-error.png
692usr/share/pixmaps/gnome-info.png
693usr/share/pixmaps/gnome-question.png
694usr/share/pixmaps/gnome-warning.png
695usr/share/pixmaps/no.xpm
696usr/share/pixmaps/yes.xpm
697usr/share/ppc64-utils/zImage.lds
698usr/share/system-config-keyboard/*
699usr/share/terminfo/l/linux
700usr/share/terminfo/x/xterm
701usr/share/terminfo/v/vt100
702usr/share/terminfo/v/vt100-nav
703usr/share/themes/Clearlooks/gtk-2.0/*
704usr/share/themes/Clearlooks/index.theme
705usr/share/vte/termcap/xterm
706usr/share/zoneinfo/zone.tab
707EOF
708
709TIMEZONES="
710usr/share/zoneinfo/Africa
711usr/share/zoneinfo/America
712usr/share/zoneinfo/Antarctica
713usr/share/zoneinfo/Arctic
714usr/share/zoneinfo/Asia
715usr/share/zoneinfo/Atlantic
716usr/share/zoneinfo/Australia
717usr/share/zoneinfo/Canada
718usr/share/zoneinfo/Europe
719usr/share/zoneinfo/Indian
720usr/share/zoneinfo/Japan
721usr/share/zoneinfo/Mideast
722usr/share/zoneinfo/Pacific
723usr/share/zoneinfo/US
724"
725
726# sparc needs 100dpi fonts as well, otherwise
727# things look ugly
728
729if [ $ARCH = sparc ]; then
730 cat >> $KEEPFILEGR <<-EOF
731usr/X11R6/lib/X11/fonts/100dpi/cour*
732usr/X11R6/lib/X11/fonts/100dpi/helv*
733usr/X11R6/lib/X11/fonts/100dpi/tim*
734usr/X11R6/lib/X11/fonts/100dpi/fonts*
735usr/share/fonts/ISO8859-2/100dpi/cour*
736usr/share/fonts/ISO8859-2/100dpi/helv*
737usr/share/fonts/ISO8859-2/100dpi/tim*
738usr/share/fonts/ISO8859-2/100dpi/fonts*
739EOF
740fi
741
742#
743# KEEPFILERESCUE is all files to keep from the packages in PACKAGESRESCUE
744#
745# This defines the files in addition to KEEPFILE and KEEPFILEGR that make up
746# the install images for NFS and CD/DVD based rescue mode installs. This
747# image is not loaded into memory so it can be considerably larger.
748#
749# NOTE: hd, ftp, and http rescue mode use and image based on KEEPFILE since
750# it has to be much smaller due to memory usage.
751#
752KEEPFILERESCUE=/tmp/keepfilerescue.$$
753cat > $KEEPFILERESCUE <<EOF
754bin/gunzip
755bin/gzip
756bin/mt
757bin/ping
758bin/sync
759bin/tar
760bin/zcat
761etc/joe/*
762sbin/arp
763sbin/depmod
764sbin/dump
765sbin/ifconfig
766sbin/insmod
767sbin/lsmod
768sbin/lspci
769sbin/modinfo
770sbin/modprobe
771sbin/netstat
772sbin/restore
773sbin/rrestore
774sbin/rmmod
775sbin/route
776usr/bin/bunzip2
777usr/bin/bzcat
778usr/bin/bzip2
779usr/bin/emacs
780usr/bin/find
781usr/bin/ftp
782usr/bin/jmacs
783usr/bin/joe
784usr/bin/jpico
785usr/bin/less
786usr/bin/mattrib
787usr/bin/mbadblocks
788usr/bin/mcd
789usr/bin/mcopy
790usr/bin/mdel
791usr/bin/mdeltree
792usr/bin/mdir
793usr/bin/mdu
794usr/bin/mformat
795usr/bin/minfo
796usr/bin/mlabel
797usr/bin/mmd
798usr/bin/mmount
799usr/bin/mmove
800usr/bin/mpartition
801usr/bin/mrd
802usr/bin/mread
803usr/bin/mren
804usr/bin/mshowfat
805usr/bin/mtools
806usr/bin/mtype
807usr/bin/mzip
808usr/bin/open
809usr/bin/rcp
810usr/bin/rlogin
811usr/bin/rsh
812usr/bin/scp
813usr/bin/sftp
814usr/bin/shred
815usr/bin/ssh
816usr/bin/termidx
817usr/bin/xargs
818usr/kerberos/$LIBDIR/libgssapi*
819usr/kerberos/$LIBDIR/libkrb5*
820usr/kerberos/$LIBDIR/libk5crypto*
821usr/kerberos/$LIBDIR/libcom_err*
822usr/sbin/mtr
823usr/sbin/traceroute
824EOF
825
826echo "Assembling package list..."
827RPMS=$(prunePackageList $PACKAGEDIR "$PACKAGES")
828[ -n "$DEBUG" ] && echo "RPMS are $RPMS"
829RPMSGR=$(prunePackageList $PACKAGEDIR "$PACKAGESGR $PACKAGESRESCUE")
830[ -n "$DEBUG" ] && echo "RPMSGR are $RPMSGR"
831
832rm -rf $DEST; mkdir -p $DEST/usr/sbin
833rm -rf $DESTGR; mkdir -p $DESTGR/usr/sbin $DESTGR/var/lib $DESTGR/boot
834ln -s /tmp $DESTGR/var/lib/xkb
835
836#
837# concat KEEPFILEGR and KEEPFILERESCUE lists
838#
839cat $KEEPFILERESCUE >> $KEEPFILEGR
840
841#
842# filter paths in keepfile lists for use by cpio
843#
844for file in $KEEPFILE $KEEPFILEGR; do
845 cat $file | awk '{print $1 "\n./" $1}' > $file-
846 mv -f $file- $file
847done
848
849echo "Expanding text packages..."
850expandPackageSet "$RPMS" $DEST $KEEPFILE
851
852(cd $DEST; tar cSpf - .) | (cd $DESTGR; tar xSpf -)
853
854echo "Expanding graphical packages..."
855expandPackageSet "$RPMSGR" $DESTGR $KEEPFILEGR
856
857echo "retrieving timezones"
858TZDIR=/tmp/glibc-timezone-$$
859mkdir -p $TZDIR/usr/share/zoneinfo
860rpm2cpio $TZDATA | (cd $TZDIR; cpio --quiet -iumd usr/share/zoneinfo ./usr/share/zoneinfo ./usr/share/zoneinfo/* usr/share/zoneinfo/*)
861[ $? = 0 ] || die "ERROR: Unable to expand timezone data ($TZDATA)"
862(cd $TZDIR; tar cSpf - $TIMEZONES) | (cd $DEST; tar xSpf -)
863(cd $TZDIR; tar cSpf - $TIMEZONES) | (cd $DESTGR; tar xSpf -)
864
865chown -R root:root $DEST $DESTGR
866chmod -R a+rX-w $DEST $DESTGR
867if [ $ARCH = s390 -o $ARCH = s390x ]; then
868 for i in $DEST $DESTGR; do
869 mv $i/bin/sed $i/bin/sed_save
870 mv $i/bin/sort $i/bin/sort_save
871 done
872fi
873
874# change mtimes to 0 (to match what happens on the cramfs)
875for p in $DEST $DESTGR; do
876 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
877 runroot $COMPONENT --onlyone --arch $ARCH "cd $p\; usr/lib/anaconda-runtime/fixmtime.py $DEBUG $p"
878 else
879 $p/usr/lib/anaconda-runtime/fixmtime.py $DEBUG $p
880 fi
881done
882
883# Remove locales unused during the install
73b4c2bc 884cat $DESTGR/usr/lib/anaconda/lang-table* | gawk '
3e6a3a30
PZ
885{ gsub("-", "", $4);
886 print $4;
887 print gensub(/\..*$/,"","",$4);
888 print gensub(/_.*$/,"","",$4);
889 if (split ($4, a, ".") > 1) {
890 print gensub(/\..*$/,tolower("." a[2]),"",$4);
891 };
892 gsub("-", "", $7);
893 print $7;
894 print gensub(/\..*$/,"","",$7);
895 print gensub(/_.*$/,"","",$7);
896 if (split ($7, a, ".") > 1) {
897 print gensub(/\..*$/,tolower("." a[2]),"",$7);
898 };
899}
900' | LC_ALL=C sort -u > $DESTGR/locales
901# lib not used below
902for p in share; do (
903cd $DESTGR/usr/$p/locale && {
904ls | grep -v locale.alias | LC_ALL=C sort > $DESTGR/locales.list
905LC_ALL=C comm -13 $DESTGR/locales $DESTGR/locales.list | xargs rm -rf
906}
907); done
908rm -f $DESTGR/locales $DESTGR/locales.list
909
910# now, create a locale archive and nuke the locale dirs since
911# that ends up taking less space
912#for p in $DEST $DESTGR; do
913# echo "Building locale archive"
914# if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
915# runroot $COMPONENT --onlyone --arch $ARCH "/usr/sbin/chroot $p /usr/sbin/build-locale-archive"
916# else
917# /usr/sbin/chroot $p /usr/sbin/build-locale-archive
918# fi
919# mv $p/usr/lib/locale/locale-archive $p/usr/lib/locale-archive
920# rm -rf $p/usr/lib/locale/*
921# rm -f $p/usr/sbin/build-locale-archive
922# mv $p/usr/lib/locale-archive $p/usr/lib/locale/locale-archive
923#done
924
925# Remove unneeded XFree86 modules
926rm -rf $DESTGR/usr/X11R6/$LIBDIR/modules/dri
927rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/libscanpci.a
928rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/libxf1bpp.a
929rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/fonts/libspeedo.a
930rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/drivers/linux/v4l_drv.o
931rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/extensions/libdri.a
932rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/extensions/libxtrap.a
933rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/extensions/librecord.a
934
935rm -f $DESTGR/usr/X11R6/$LIBDIR/modules/extensions/lib{GLcore,glx,pex5}*
936
937# fixup joe links
938ln -fs jpicorc $DESTGR/etc/joe/picorc
939ln -fs jmacsrc $DESTGR/etc/joe/emacsrc
940ln -fs jmacs $DESTGR/usr/bin/emacs
941ln -fs jpico $DESTGR/usr/bin/pico
942
943echo "Creating nsswitch.conf"
944cat > $DEST/etc/nsswitch.conf <<EOF
945# munged nsswitch.conf with just what anaconda needs
946# created by upd-instroot
947#
948passwd: files
949shadow: files
950group: files
951hosts: files dns
952ethers: files
953netmasks: files
954networks: files
955protocols: files
956rpc: files
957services: files
958netgroup: files
959automount: files
960aliases: files
961EOF
962
963cp $DEST/etc/nsswitch.conf $DESTGR/etc/nsswitch.conf
964
965# fixup man.config to point into /mnt/sysimage for rescue
966echo "Fixing up /etc/man.config to point into /mnt/sysimage"
967if [ -n "$NEEDGR" ]; then
968 mv $DESTGR/etc/man.config $DESTGR/etc/man.config-old
969 cat $DESTGR/etc/man.config-old | sed 's^/usr/bin^/mnt/sysimage/usr/bin^' | sed 's^/bin/cat^/mnt/sysimage/usr/bin/cat^' > $DESTGR/etc/man.config
970 rm -f $DESTGR/etc/man.config-old
971fi
972
973echo "Creating bogl font..."
974OLDLANG=$LANG
975export LANG=en_US.UTF-8
976zcat $DESTGR/usr/lib/bogl/font.bdf.gz > $DESTGR/usr/lib/bogl/font.bdf
977(cat $DESTGR/usr/lib/anaconda-runtime/loader/unicode-linedraw-chars.txt ; for i in $(find $DESTGR/usr/share/locale -name '*.mo'); do msgunfmt $i 2>/dev/null | msgconv -t utf-8 -o - - ; done) | $DESTGR/usr/bin/reduce-font $DESTGR/usr/lib/bogl/font.bdf > $DESTGR/usr/lib/anaconda-runtime/loader/font-reduced.bdf
978$DESTGR/usr/bin/bdftobogl -b $DESTGR/usr/lib/anaconda-runtime/loader/font-reduced.bdf > $DESTGR/usr/lib/anaconda-runtime/loader/font.bgf
979rm -f $DESTGR/usr/lib/anaconda-runtime/loader/font-reduced.bdf $DESTGR/usr/lib/bogl/font.bdf $DESTGR/usr/bin/reduce-font $DESTGR/usr/bin/bdftobogl $DESTGR/usr/lib/bogl/font.bdf.gz
980gzip -9 -f $DESTGR/usr/lib/anaconda-runtime/loader/font.bgf
981export LANG=$OLDLANG
982
983echo "Running mkfontdir..."
984if [ -n "$NEEDGR" ]; then
985 /usr/X11R6/bin/mkfontdir $DESTGR/usr/X11R6/lib/X11/fonts/*
986 rm -f $DESTGR/usr/X11R6/bin/mkfontdir
987fi
988
989echo "Getting pango modules"
990if [ -n "$NEEDGR" ]; then
991 # sick sick sick hack for pango-querymodules being -32 or -64
992 mv $DESTGR/usr/bin/pango-querymodules* $DESTGR/usr/bin/pango-querymodules
993 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
994 runroot $COMPONENT --onlyone --arch $ARCH "LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/pango-querymodules 2> $DESTGR/etc/pango/pango.modules"
995 else
996 LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/pango-querymodules > $DESTGR/etc/pango/pango.modules
997 fi
998 rm -f $DESTGR/usr/bin/pango-querymodules
999 # more sick hackery since it doesn't fall back to this like owen thought
1000 cat > $DESTGR/etc/pango/pangorc <<EOF
1001[Pango]
1002ModuleFiles=/etc/pango/pango.modules
1003EOF
1004fi
1005
1006host=`rpm --nodigest --nosignature -qp --qf "%{POSTIN}\n" $PACKAGEDIR/gtk2*.$ARCH.rpm |grep update-gdk-pixbuf |awk {'print $2;'}`
1007
1008case "$host" in
1009 *linux) canonhost="$host-gnu"
1010 ;;
1011 *) canonhost=$host
1012 ;;
1013esac
1014
1015# autoconf uses powerpc not ppc
1016HOSTTRIPLET=`echo $canonhost | sed "s/^ppc/powerpc/"`
1017
1018
1019mkdir -p $DESTGR/etc/gtk-2.0/$HOSTTRIPLET
1020
1021echo "Getting gtk2 input method modules"
1022if [ -n "$NEEDGR" ]; then
1023 mv $DESTGR/usr/bin/gtk-query-immodules-2.0* $DESTGR/usr/bin/gtk-query-immodules-2.0
1024 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1025 runroot $COMPONENT --onlyone --arch $ARCH "LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/gtk-query-immodules-2.0 2> $DESTGR/etc/gtk-2.0/$HOSTTRIPLET/gtk.immodules"
1026 else
1027 LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/gtk-query-immodules-2.0 > $DESTGR/etc/gtk-2.0/$HOSTTRIPLET/gtk.immodules
1028 fi
1029 rm -f $DESTGR/usr/bin/gtk-query-immodules-2.0
1030fi
1031
1032echo "Getting gtk2 gdk-pixbuf loaders"
1033if [ -n "$NEEDGR" ]; then
1034 mv $DESTGR/usr/bin/gdk-pixbuf-query-loaders* $DESTGR/usr/bin/gdk-pixbuf-query-loaders
1035 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1036 runroot $COMPONENT --onlyone --arch $ARCH "LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/gdk-pixbuf-query-loaders 2> $DESTGR/etc/gtk-2.0/$HOSTTRIPLET/gdk-pixbuf.loaders"
1037 else
1038 LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/gdk-pixbuf-query-loaders > $DESTGR/etc/gtk-2.0/$HOSTTRIPLET/gdk-pixbuf.loaders
1039 fi
1040 rm -f $DESTGR/usr/bin/gdk-pixbuf-query-loaders
1041fi
1042
1043rm -f $KEEPFILE $KEEPFILEGR $KEEPFILERESCUE
1044
1045for p in $DEST $DESTGR; do
1046 echo "Scrubbing trees..." "$p"
1047 cp $p/usr/lib/anaconda/raidstart-stub $p/usr/bin/raidstart
1048 cp $p/usr/lib/anaconda/raidstop-stub $p/usr/bin/raidstop
1049 cp $p/usr/lib/anaconda/losetup-stub $p/usr/bin/losetup
1050 cp $p/usr/lib/anaconda/pump-stub $p/usr/bin/pump
1051 cp $p/usr/lib/anaconda/list-harddrives-stub $p/usr/bin/list-harddrives
1052 cp $p/usr/lib/anaconda/kudzu-probe-stub $p/usr/bin/kudzu-probe
1053 cp $p/usr/lib/anaconda/loadkeys-stub $p/usr/bin/loadkeys
1054 cp $p/usr/lib/anaconda/mknod-stub $p/usr/bin/mknod
1055 cp $p/usr/lib/anaconda/rescue-startx-stub $p/usr/bin/rescue-startx
1056 mv $p/usr/sbin/anaconda $p/usr/bin/anaconda
1057 mv $p/usr/lib/anaconda-runtime/lib* $p/usr/$LIBDIR
1058
1059 # we only want the libunicode-lite stuff on the minimal image
1060 if [ $p = $DESTGR ]; then
1061 rm -f $p/usr/$LIBDIR/libunicode-lite*
1062 fi
1063
1064 find $p -type d | xargs chmod 755
1065
1066 if [ -f $p/bin/bash ]; then
1067 rm -f $p/bin/ash
1068 ln -s bash $p/bin/sh
1069 else
1070 ln -sf busybox $p/bin/sh
1071 fi
1072
1073 [ -d $p/bin ] || die "ERROR: directory missing: $p/bin"
1074 [ -d $p/sbin ] || die "ERROR: directory missing: $p/sbin"
1075 (cd $p/bin; find) | (cd $p/bin; /bin/cpio --quiet -pdmu $p/usr/bin)
1076 (cd $p/sbin; find) | (cd $p/sbin; /bin/cpio --quiet -pdmu $p/usr/sbin)
1077 rm -rf $p/bin
1078 rm -rf $p/sbin
1079
1080 # copy bootloader files for sparc
1081 if [ $ARCH = sparc -a $p = $DESTGR ]; then
1082 mkdir -p $p/usr/lib/anaconda-runtime/boot
1083 [ -d $p/boot ] || die "ERROR: directory missing: $p/boot"
1084 (cd $p/boot; find -name "*.b") | (cd $p/boot; /bin/cpio --quiet -pdmu $p/usr/lib/anaconda-runtime/boot)
1085 fi
1086
1087 # copy bootloader file for alpha
1088 if [ $ARCH = alpha -a $p = $DESTGR ]; then
1089 mkdir -p $p/usr/lib/anaconda-runtime/boot
1090 cp -af $p/boot/bootlx $p/usr/lib/anaconda-runtime/boot
1091 fi
1092
1093 # copy bootloader files for ia64
1094 if [ $ARCH = ia64 -a $p = $DESTGR ]; then
1095 mkdir -p $p/usr/lib/anaconda-runtime/boot
1096 cp -af $p/boot/efi/EFI/redhat//* $p/usr/lib/anaconda-runtime/boot
1097 fi
1098
1099 # copy bootloader files for i386/x86_64
bd688d0c 1100 if [ $ARCH = i386 -o $ARCH = i686 -o $ARCH = x86_64 ]; then
3e6a3a30
PZ
1101 if [ $p = $DESTGR ]; then
1102 mkdir -p $p/usr/lib/anaconda-runtime/boot
1103 cp -af $p/boot/memtest* $p/usr/lib/anaconda-runtime/boot
1104 fi
1105 fi
1106
1107 rm -rf $p/boot $p/home $p/root $p/tmp
1108
1109 find $p -name "*.a" | grep -v "usr/X11R6/$LIBDIR/modules" | xargs rm -rf
1110 find $p -name "lib*.la" |grep -v "usr/$LIBDIR/gtk-2.0" | xargs rm -rf
1111 for f in newt popt rpm rpmio; do
1112 rm -f $p/usr/$LIBDIR/lib$f.so
1113 done
1114
1115 # nuke some python stuff we don't need
1116 for d in idle distutils email bsddb lib-old hotshot doctest.py pydoc.py site-packages/japanese site-packages/japanese.pth ; do
1117 rm -rf $p/$d
1118 done
1119
1120 if [ "$ARCH" != "s390" -a "$ARCH" != "s390x" ]; then
1121 (cd $p/lib && rm -f libnss_files.so.1 libnss_dns.so.1)
1122 fi
1123
1124 if [ -d $DEST/usr/share/zoneinfo ]; then
1125 (cd $DEST/usr/share/zoneinfo; find . -type f -or -type l |
1126 grep '^./[A-Z]' | sort | sed 's/^..//' |
1127 gzip -9) > $p/usr/lib/timezones.gz
1128 else
1129 echo "ERROR: unable to explode tzdata for small images"
1130 fi
1131
1132 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1133 runroot $COMPONENT --onlyone --arch $ARCH "cd $p\; usr/lib/anaconda-runtime/scrubtree $DEBUG $p"
1134 else
1135 $p/usr/lib/anaconda-runtime/scrubtree $p
1136 fi
1137done
1138
1139echo "Compressing .mo files in stage2 images..."
1140if [ -d $DEST/usr/share/locale ]; then
1141 for i in `find $DEST/usr/share/locale -name anaconda.mo`; do
1142 gzip -9 $i
1143 mv -f $i.gz $i
1144 done
1145fi
1146
1147echo "Creating fontconfig cache"
1148if [ -n "$NEEDGR" ]; then
1149 if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1150 runroot $COMPONENT --onlyone --arch $ARCH "LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/fc-cache"
1151 else
1152 LD_LIBRARY_PATH=/usr/X11R6/$LIBDIR:$LD_LIBRARY_PATH /usr/sbin/chroot $DESTGR /usr/bin/fc-cache
1153 fi
1154 rm -f $DESTGR/usr/bin/fc-cache
1155fi
1156
1157echo "Creating debug dir"
1158for p in $DEST $DESTGR ; do
1159 mkdir -p $p/usr/lib/debug
1160done
1161
1162if [ $ARCH = "alpha" ]; then
1163 rm -rf $DEST/usr/share/locale
1164 rm -rf $DEST/usr/$LIBDIR/locale
1165fi
1166
1167echo "Patching python library..."
1168
1169# always use passive mode for ftp installs
1170cd $DEST/usr/$LIBDIR/python2.4
1171patch -p0 > /dev/null <<EOF
1172--- urllib.py.orig Thu Oct 25 17:05:06 2001
1173+++ urllib.py Thu Oct 25 17:05:34 2001
1174@@ -453,6 +453,7 @@
1175 path, attrs = splitattr(path)
1176 path = unquote(path)
1177 dirs = path.split('/')
1178+ dirs[0] = '/' + dirs[0]
1179 dirs, file = dirs[:-1], dirs[-1]
1180 if dirs and not dirs[0]: dirs = dirs[1:]
1181 if dirs and not dirs[0]: dirs[0] = '/'
1182@@ -707,6 +708,7 @@
1183 self.ftp = ftplib.FTP()
1184 self.ftp.connect(self.host, self.port)
1185 self.ftp.login(self.user, self.passwd)
1186+ self.ftp.set_pasv(1)
1187 for dir in self.dirs:
1188 self.ftp.cwd(dir)
1189EOF
1190cd -
1191
1192echo -n -e "Removing unused python files in hdimage... "
1193
1194if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1195 runroot $COMPONENT --onlyone --arch $ARCH "cd $DEST\; usr/lib/anaconda-runtime/pythondeps $DEST"
1196else
1197 $DEST/usr/lib/anaconda-runtime/pythondeps $DEST
1198fi
1199echo "done."
1200
1201for p in $DEST $DESTGR; do
1202 find $p -name "*.py" | while read fn; do
1203 rm -f ${fn}o
1204 rm -f ${fn}c
1205 ln -sf /dev/null ${fn}c
1206 done
1207done
1208
1209# do some stripping of debugging symbols
1210if [ -x /usr/bin/runroot -a -n "$COMPONENT" ]; then
1211 runroot $COMPONENT --onlyone --arch $ARCH "\"find $DEST -type f -name '*.so' -exec strip -g '{}' ';'\""
1212 runroot $COMPONENT --onlyone --arch $ARCH "\"find $DESTGR -type f -name '*.so' -exec strip -g '{}' ';'\""
1213else
1214 find $DEST -type f -name '*.so' |xargs strip -g
1215 find $DESTGR -type f -name '*.so' |xargs strip -g
1216fi
1217
1218# some python stuff we don't need for stage2
1219rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/distutils/
1220rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/lib-dynload/japanese
1221rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/encodings/
1222rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/compiler/
1223rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/email/
1224rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/curses/
1225rm -f $DESTGR/usr/$LIBDIR/python?.?/site-packages/pydoc.py
1226
1227# clean up tzdata
1228rm -rf $TZDIR
1229
1230# this is only for the minimal second stage
1231echo "Cleaning ramdisk install images..."
1232rm -rf $DEST/usr/lib/anaconda-runtime
1233
1234if [ "$ARCH" != "s390" -a "$ARCH" != "s390x" ]; then
1235 if [ $NEEDGR ]; then
1236 # Xserver needs a place to put the compiled xkb maps.
1237 rm -rf $DESTGR/usr/X11R6/lib/X11/xkb/compiled
1238 ln -s /tmp $DESTGR/usr/X11R6/lib/X11/xkb/compiled
1239 fi
1240
1241 if [ -n "$NEEDGR" ]; then
1242 cd $ORIGDIR
1243 $DESTGR/usr/lib/anaconda-runtime/checkcards.py $DESTGR/usr/share/hwdata/pcitable $DESTGR/usr/share/hwdata/Cards
1244 fi
1245fi
This page took 0.360795 seconds and 4 git commands to generate.