--- builds_bin/build_installer 2007/11/07 17:19:07 1.10 +++ builds_bin/build_installer 2014/06/30 19:05:27 1.28 @@ -1,16 +1,21 @@ #!/bin/sh distname='SME Server' -distvers=$(basename $(pwd)) +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 \ @@ -21,9 +26,9 @@ then PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/pkgorder \ --product SME \ $(pwd)/$distarch \ - $distarch > pkgorder + $distarch > pkgorder.$distarch - for PKG in /releases/$distrel/smeextras/$distarch/RPMS/*.rpm + for PKG in /build/smeserver/repo/$distrel/smeextras/$distarch/RPMS/*.rpm do PKGFILE=$(basename $PKG) if [ ! -f $(pwd)/$distarch/SME/RPMS/$PKGFILE ] @@ -34,15 +39,16 @@ then PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \ --product "$distname" \ - --version "$distrel.0" \ + --version "${distvers/[^0-9.]*/}" \ --release "$distname" \ --prodpath SME \ - --pkgorder pkgorder \ + --pkgorder pkgorder.$distarch \ $(pwd)/$distarch/ sed -i 's@1,2,3@1@' $(pwd)/$distarch/.discinfo -else - for PKG in /releases/testing/$distrel/smeextras/$distarch/RPMS/*.rpm +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 ] @@ -51,24 +57,62 @@ else 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 "$distrel.0" \ + --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" \ + --final \ + --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 /stage/extra/isolinux/$distrel/* $(pwd)/$distarch/isolinux/ +sudo cp -f /build/smeserver/stage/extra/isolinux/$distrel/* $(pwd)/$distarch/isolinux/ -sudo chown -R 9000:9001 $(pwd)/$distarch/ -sudo chmod -R u+rwX,g+rwX,o+rX,o-w $(pwd)/$distarch/ +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 /stage/bin/build_ISO as non-root" +echo "You now need to run /build/smeserver/stage/bin/build_ISO as non-root" # That's it.