#!/bin/sh distname='SME Server' distvers=$(basename $(readlink -f $(pwd))) distrel=${distvers:0:1} distarch=$(uname -i) exec < /dev/null exec &> build_installer.$distarch if ! [ -d $distarch ] then echo "No $distarch directory?" exit 1 fi rm -rf $(pwd)/$distarch/{images,isolinux} $(pwd)/$distarch/SME/base/{hdlist*,*.img} if [ "$distrel" == "7" ] then PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ --productpath SME \ --withnumbers \ $(pwd)/$distarch/ PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/pkgorder \ --product SME \ $(pwd)/$distarch \ $distarch > pkgorder.$distarch for PKG in /build/smeserver/repo/$distrel/smeextras/$distarch/RPMS/*.rpm do PKGFILE=$(basename $PKG) if [ ! -f $(pwd)/$distarch/SME/RPMS/$PKGFILE ] then ln -sf $PKG $(pwd)/$distarch/SME/RPMS/ fi done PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \ --product "$distname" \ --version "${distvers/[^0-9.]*/}" \ --release "$distname" \ --prodpath SME \ --pkgorder pkgorder.$distarch \ $(pwd)/$distarch/ sed -i 's@1,2,3@1@' $(pwd)/$distarch/.discinfo elif [ "$distrel" == "8" ] then for PKG in /build/smeserver/repo/$distrel/smeextras/$distarch/RPMS/*.rpm do PKGFILE=$(basename $PKG) if [ ! -f $(pwd)/$distarch/SME/$PKGFILE ] then ln -sf $PKG $(pwd)/$distarch/SME/ fi done cp /usr/lib/anaconda-runtime/mk-images* . sed -i -e 's/count=12/count=15/' mk-images.* sed -e "/installforallkernels/ised -i 's|\\\\(enabled\\\\) = 1|\\\\1 = 0|' \$DEST/etc/yum/pluginconf.d/kmod.conf" \ -e 's|^usr/\(.*/libz.*\)|&\n\1|' /usr/lib/anaconda-runtime/upd-instroot > upd-instroot chmod 644 mk-images.* chmod 755 mk-images upd-instroot sudo chown root:root mk-images* upd-instroot PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \ --product "$distname" \ --version "${distvers/[^0-9.]*/}" \ --release "$distname" \ --prodpath SME \ --bugurl http://bugs.contribs.org/ \ $(pwd)/$distarch/ sed -i 's/ALL/1/' $distarch/.discinfo sudo rm -rf $distarch/buildinstall.tree.*/ mk-images* upd-instroot elif [ "$distrel" == "9" ] then sed -e '/anaconda.repos.d/arm -f $DEST/etc/anaconda.repos.d/*' /usr/lib/anaconda-runtime/upd-instroot > upd-instroot chmod 755 upd-instroot sudo chown root:root upd-instroot rm -rf $(pwd)/$distarch/{repodata,repoview}/ mkdir -p $(pwd)/$distarch/repodata/ /bin/cp -af $(pwd)/$distarch/Packages/base/comps.xml $(pwd)/$distarch/repodata/ createrepo --quiet --database --skip-symlinks --simple-md-filenames --groupfile repodata/comps.xml $(pwd)/$distarch/ sync; rm -rf $(pwd)/$distarch/.olddata # add --final when we have final product PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \ --product "$distname" \ --version "${distvers/[^0-9.]*/}" \ --release "$distname" \ --brand "centos" \ --bugurl http://bugs.contribs.org/ \ --output $(pwd)/$distarch/ \ /build/smeserver/repo/testing/$distrel/smeextras/$distarch/ \ $(pwd)/$distarch/ /bin/sed -i -e "s|packagedir =.*|packagedir = Packages|" $(pwd)/$distarch/.treeinfo sudo rm -f awk ../pci.ids *-logos-*.rpm grub-*.rpm upd-instroot fi # Remove previous linked files find $(pwd)/$distarch/SME/ -type l | xargs rm -f # Copy updated isolinux files sudo cp -f /build/smeserver/stage/extra/isolinux/$distrel/* $(pwd)/$distarch/isolinux/ find $(pwd)/$distarch -\( -not -user 10020 -o -not -group 10020 -\) -print0 | sudo xargs -r0 chown 10020:10020 find $(pwd)/$distarch -\( -type f -not -perm -0664 -o -type d -not -perm -0775 -\) -print0 | sudo xargs -r0 chmod u+rwX,g+rwX,o+rX,o-w echo "You now need to run /build/smeserver/stage/bin/build_ISO as non-root" # That's it.