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