#!/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 distname='SME Server' distvers=$(basename $(pwd)) distarch=i386 for img in product updates do /usr/bin/mkcramfs \ $(pwd)/cdrom.image/$img \ $(pwd)/cdrom.image/CentOS/base/$img.img done PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ --withnumbers \ $(pwd)/cdrom.image/ PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/pkgorder \ $(pwd)/cdrom.image \ $distarch > pkgorder PACKAGES="acl anaconda anaconda-help anaconda-images anaconda-runtime ash atk attr audiofile audit-libs bash beecrypt bitmap-fonts-cjk bogl bogl-bterm booty busybox-anaconda bzip2 bzip2-libs comps-extras convertdb1 coreutils cpio device-mapper dmapi dosfstools dump e2fsprogs elfutils-libelf esound expat fedora-logos findutils fontconfig fonts-arabic fonts-bengali fonts-ISO8859-2 fonts-ISO8859-9 fonts-xorg-100dpi fonts-xorg-base fonts-xorg-ISO8859-15-75dpi fonts-xorg-ISO8859-2-75dpi fonts-xorg-ISO8859-9-75dpi fonts-xorg-KOI8-R fonts-xorg-KOI8-R-75dpi freetype ftp gdk-pixbuf glib2 glibc glibc-common gnome-python2 gnome-python2-canvas gpm gtk2 gzip hdparm hwdata iputils jfsutils joe kernel-pcmcia-cs kernel-utils krb5-libs kudzu less libacl libart_lgpl libattr libgcc libgnome libgnomecanvas libjpeg libpng libselinux libsepol libstdc++ libtermcap libxml2 libxml2-python lvm2 man mdadm memtest86+ modutils mtools mtr mt-st ncurses net-tools newt open openssh openssh-clients openssl pam pango parted pciutils policy policycoreutils popt prelink procps pygtk2 pyparted python pyxf86config raidtools readline redhat-artwork redhat-logos reiserfs-utils rhpl rpm rpm-libs rpm-python rsh sed selinux-policy-targeted setup slang specspo syslinux system-config-date system-config-keyboard taipeifonts tar tcp_wrappers traceroute ttfonts-bn ttfonts-gu ttfonts-hi ttfonts-ja ttfonts-ko ttfonts-pa ttfonts-ta ttfonts-zh_CN ttfonts-zh_TW tzdata urw-fonts util-linux vnc-server Xconfigurator XFree86 XFree86-100dpi-fonts XFree86-75dpi-fonts XFree86-base-fonts XFree86-ISO8859-15-75dpi-fonts XFree86-ISO8859-2-75dpi-fonts XFree86-ISO8859-9-75dpi-fonts XFree86-KOI8-R XFree86-KOI8-R-75dpi-fonts XFree86-libs XFree86-libs-data XFree86-xfs xfsdump xfsprogs Xft xorg-x11 xorg-x11-100dpi-fonts xorg-x11-base xorg-x11-base-fonts xorg-x11-ISO8859-15-75dpi xorg-x11-ISO8859-15-75dpi-fonts xorg-x11-ISO8859-2-75dpi-fonts xorg-x11-ISO8859-9-75dpi-fonts xorg-x11-KOI8-R xorg-x11-KOI8-R-75dpi-fonts xorg-x11-libs xorg-x11-libs-data xorg-x11-xfs zlib" for PKG in $PACKAGES 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.3 \ --pkgorder pkgorder \ --release "$distname" \ --product "$distname" \ --version 7.0 \ $(pwd)/cdrom.image/ # Remove previous linked files find $(pwd)/cdrom.image/CentOS/RPMS/ -type l | xargs rm -f # Copy updated isolinux files sudo cp -fR /builds/isolinux/* $(pwd)/cdrom.image/isolinux/ echo "You now need to run /builds/bin/build_ISO as non-root" # That's it.