--- builds_bin/build_installer 2005/11/10 19:43:51 1.2 +++ builds_bin/build_installer 2007/06/02 05:15:03 1.6 @@ -1,39 +1,10 @@ #!/bin/sh -# Charlie Brady wrote on smeserver-developer: -# [I'm sure I've said this before, but ...] there's no new anaconda SRPM. -# The cdrom image I've been using comes directly from a CentOS one. - -# -# What I've done is: -# -# - add CentOS/base/updates.img, made using mkcramfs from the updates directory -# - delete unwanted RPMs -# - add wanted RPMs -# - replace comps.xml -# - add install.cfg and update.cfg -# - edit isolinux/isolinux.cfg -# -# Run this in the a 7.0alphaXX directory, containing cdrom.image -# which contains the directory tree: - - -echo "Checking packages not installed in CentOS workstation group" -for package in anaconda anaconda-runtime bogl booty createrepo mkisofs zsync \ - xorg-x11-font-utils netpbm-progs netpbm -do - rpm -q $package || exit "$package must be installed" -done +[ -d cdrom.image ] || (echo "No cdrom.image directory?"; exit 1) distname='SME Server' distvers=$(basename $(pwd)) - -for img in product updates -do - /usr/bin/mkcramfs \ - $(pwd)/cdrom.image/$img \ - $(pwd)/cdrom.image/CentOS/base/$img.img -done +distarch=$(uname -i) PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ --withnumbers \ @@ -41,59 +12,85 @@ PYTHONPATH=/usr/lib/anaconda/ /usr/lib/a PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/pkgorder \ $(pwd)/cdrom.image \ - i386 > pkgorder + $distarch > pkgorder + +PACKAGES="glibc glibc-common setup openssl python newt slang libselinux + libsepol libtermcap zlib ash e2fsprogs util-linux raidtools popt mdadm + procps rpm rpm-libs XFree86 Xconfigurator anaconda tzdata + anaconda-runtime kudzu hwdata bzip2 beecrypt ncurses readline + bzip2-libs dosfstools pciutils reiserfs-utils parted sed + busybox-anaconda rpm-python booty hdparm lvm2 beecrypt device-mapper + rhpl pyxf86config libxml2 libxml2-python glib2 audit-libs + elfutils-libelf bogl-bterm bogl krb5-libs convertdb1 jfsutils + xfsprogs xfsdump dmapi libacl libattr attr acl bogl-devel + policy policycoreutils pyparted xorg-x11 selinux-policy-targeted + kernel-pcmcia-cs kernel-utils" + +PACKAGESGR="anaconda XFree86-libs libpng XFree86-75dpi-fonts + XFree86-ISO8859-2-75dpi-fonts gtk2 + XFree86-ISO8859-9-75dpi-fonts esound audiofile libgnome + XFree86-100dpi-fonts fonts-ISO8859-2 fonts-ISO8859-9 + XFree86-xfs e2fsprogs coreutils glibc glibc-common + readline popt specspo util-linux rpm rpm-libs tzdata + procps ncurses bash cpio gpm + XFree86 Xconfigurator gnome-python2 pygtk2 gdk-pixbuf + XFree86-KOI8-R XFree86-KOI8-R-75dpi-fonts pam + reiserfs-utils atk pango freetype gnome-python2-canvas + libgnomecanvas libart_lgpl libgcc libacl libattr libstdc++ expat + anaconda-images anaconda-help XFree86-base-fonts + ttfonts-ko taipeifonts XFree86-ISO8859-15-75dpi-fonts rhpl + system-config-keyboard Xft fontconfig redhat-artwork audit-libs + ttfonts-ja ttfonts-zh_TW bitmap-fonts-cjk urw-fonts fonts-arabic + comps-extras XFree86-libs-data convertdb1 fonts-bengali + vnc-server libjpeg tcp_wrappers system-config-date + xfsprogs xfsdump dmapi attr acl policy policycoreutils + selinux-policy-targeted ttfonts-zh_CN + xorg-x11-libs xorg-x11-ISO8859-2-75dpi-fonts + xorg-x11-ISO8859-9-75dpi-fonts xorg-x11-100dpi-fonts + xorg-x11-xfs xorg-x11 xorg-x11-KOI8-R xorg-x11-KOI8-R-75dpi-fonts + xorg-x11-base-fonts xorg-x11-ISO8859-15-75dpi-fonts + fonts-xorg-ISO8859-2-75dpi fonts-xorg-ISO8859-15-75dpi + fonts-xorg-ISO8859-9-75dpi fonts-xorg-100dpi + fonts-xorg-KOI8-R fonts-xorg-KOI8-R-75dpi fonts-xorg-base + xorg-x11-base xorg-x11-ISO8859-15-75dpi + xorg-x11-libs-data xorg-x11-xfs prelink redhat-logos fedora-logos + ttfonts-ta ttfonts-bn ttfonts-gu ttfonts-hi ttfonts-pa + syslinux memtest86+" + +PACKAGESRESCUE="bzip2 bzip2-libs dump + findutils ftp gzip iputils joe krb5-libs less man + modutils mtools mt-st mtr net-tools open + openssh openssh-clients pciutils rsh traceroute tar" -# Link to necessary rpms to rebuild installer -for rpm in anaconda-10.1.1.19-1.centos4.i386.rpm \ - anaconda-help-10.1.0-1.centos4.noarch.rpm \ - anaconda-runtime-10.1.1.19-1.centos4.i386.rpm \ - atk-1.8.0-2.i386.rpm \ - audiofile-0.2.6-1.i386.rpm \ - bogl-0.1.18-4.i386.rpm \ - bogl-bterm-0.1.18-4.i386.rpm \ - booty-0.44-1.i386.rpm \ - busybox-anaconda-1.00.rc1-5.i386.rpm \ - comps-extras-10.1-1.noarch.rpm \ - esound-0.2.35-2.i386.rpm \ - fonts-arabic-1.5-3.noarch.rpm \ - fonts-bengali-0.1-3.noarch.rpm \ - fonts-xorg-base-6.8.1.1-1.EL.1.noarch.rpm \ - gdk-pixbuf-0.22.0-16.el4.i386.rpm \ - gnome-python2-2.6.0-3.i386.rpm \ - gnome-python2-applet-2.6.0-3.i386.rpm \ - gnome-python2-canvas-2.6.0-3.i386.rpm \ - gnome-python2-nautilus-2.6.0-3.i386.rpm \ - gtk2-2.4.13-14.i386.rpm \ - joe-3.1-6.i386.rpm \ - libart_lgpl-2.3.16-3.i386.rpm \ - libgnomecanvas-2.8.0-1.i386.rpm \ - memtest86+-1.26-2.i386.rpm \ - open-1.4-21.i386.rpm \ - pango-1.6.0-9.i386.rpm \ - parted-1.6.19-1.EL.i386.rpm \ - pygtk2-2.4.0-1.i386.rpm \ - pyparted-1.6.8-2.i386.rpm \ - redhat-artwork-0.120-1.1E.centos4.1.i386.rpm \ - redhat-logos-1.1.25-1.centos4.3.noarch.rpm \ - rsh-0.17-25.3.i386.rpm \ - system-config-date-1.7.15-0.RHEL4.1.noarch.rpm \ - ttfonts-bn-1.8-1.noarch.rpm \ - ttfonts-gu-1.8-1.noarch.rpm \ - ttfonts-hi-1.8-1.noarch.rpm \ - ttfonts-ja-1.2-36.EL4.0.noarch.rpm \ - ttfonts-ko-1.0.11-32.2.noarch.rpm \ - ttfonts-pa-1.8-1.noarch.rpm \ - ttfonts-ta-1.8-1.noarch.rpm \ - ttfonts-zh_CN-2.14-6.noarch.rpm \ - ttfonts-zh_TW-2.11-28.noarch.rpm \ - urw-fonts-2.2-6.noarch.rpm \ - vnc-server-4.0-8.1.i386.rpm \ - xorg-x11-6.8.2-1.EL.13.6.i386.rpm; do - ln -fs /mirrors/centos/4.1/os/i386/CentOS/RPMS/$rpm $(pwd)/cdrom.image/CentOS/RPMS/ +for PKG in $PACKAGES $PACKAGESGR $PACKAGESRESCUE +do + PACKAGEFILES=$(rpm --qf "%{NAME} %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n" --nodigest --nosignature -qp /mirrors/centos/4/updates/$distarch/RPMS/$PKG*.rpm | grep "^$PKG " | sed 's/.* //') + if [ -n "$PACKAGEFILES" ]; + then + for PKGFILE in $PACKAGEFILES + do + if [ ! -f $(pwd)/cdrom.image/CentOS/RPMS/$PKGFILE ]; + then + ln -sf /mirrors/centos/4/updates/$distarch/RPMS/$PKGFILE $(pwd)/cdrom.image/CentOS/RPMS/$PKGFILE + fi + done + else + PACKAGEFILES=$(rpm --qf "%{NAME} %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n" --nodigest --nosignature -qp /mirrors/centos/4/os/$distarch/CentOS/RPMS/$PKG*.rpm | grep "^$PKG " | sed 's/.* //') + if [ -n "$PACKAGEFILES" ]; + then + for PKGFILE in $PACKAGEFILES + do + if [ ! -f $(pwd)/cdrom.image/CentOS/RPMS/$PKGFILE ]; + then + ln -sf /mirrors/centos/4/os/$distarch/CentOS/RPMS/$PKGFILE $(pwd)/cdrom.image/CentOS/RPMS/$PKGFILE + fi + done + fi + fi done PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \ - --comp dist-4.1 \ + --comp dist-4.3 \ --pkgorder pkgorder \ --release "$distname" \ --product "$distname" \ @@ -104,7 +101,9 @@ PYTHONPATH=/usr/lib/anaconda/ sudo /usr/ find $(pwd)/cdrom.image/CentOS/RPMS/ -type l | xargs rm -f # Copy updated isolinux files -sudo cp -fR /builds/isolinux/* $(pwd)/cdrom.image/isolinux/ +sudo cp -f /builds/isolinux/* $(pwd)/cdrom.image/isolinux/ + +sed -i 's@1,2,3@1@' $(pwd)/cdrom.image/.discinfo echo "You now need to run /builds/bin/build_ISO as non-root"