--- builds_bin/build_ISO 2007/07/19 20:04:37 1.16 +++ builds_bin/build_ISO 2007/11/07 17:19:07 1.17 @@ -1,93 +1,107 @@ #!/bin/sh -if [ -d cdrom.image ] +distname='SME Server' +disttag='smeserver' +distvers=$(basename $(pwd)) +distrel=${distvers:0:1} +distarch=$(uname -i) + +if ! [ -d $distarch ] then - distname='SME Server' - disttag='smeserver' - distvers=$(basename $(pwd)) - - [ -f cdrom.image/updates/anaconda ] && chmod a+rx cdrom.image/updates/anaconda - - for img in product updates - do - /usr/bin/mkcramfs \ - $(pwd)/cdrom.image/$img \ - $(pwd)/cdrom.image/SME/base/$img.img - done - - PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ - --productpath SME \ - --withnumbers \ - $(pwd)/cdrom.image/ - - PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/pkgorder \ - --product SME \ - $(pwd)/cdrom.image \ - $(uname -i) > pkgorder - - PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ - --productpath SME \ - --withnumbers \ - --fileorder pkgorder \ - $(pwd)/cdrom.image/ - - rm -f $disttag-$distvers.iso smeserver.iso - - cd cdrom.image - - createrepo . - sync; rm -rf .olddata - repoview . - sync; rm -rf .repodata - - bootimg='isolinux/isolinux.bin' - bootcat='isolinux/boot.cat' - mkisopts='-v -U -J -r -T' - today="$(date '+%d %b %Y')" - mkisofs $mkisopts \ - -V "$distname $distvers" \ - -A "$distname created on $today" \ - -b "$bootimg" \ - -c "$bootcat" \ - -no-emul-boot -boot-load-size 4 -boot-info-table \ - -x lost+found \ - -x CVS \ - -o "../$disttag-$distvers".iso \ - . - - cd .. - /usr/lib/anaconda-runtime/implantisomd5 $disttag-$distvers.iso - dd if=/dev/zero bs=2048 count=150 >> $disttag-$distvers.iso - md5sum $disttag-$distvers.iso > $disttag-$distvers.iso.md5sum - ls -lRt > $disttag-$distvers.iso.ls-lRt - zsyncmake $disttag-$distvers.iso - mv $disttag-$distvers.iso $disttag.iso - ln -sf $disttag.iso $disttag-$distvers.iso - - if [ -d SRPMS ] - then - echo "Building SRPMS ISO" - - distvers=$(echo $distvers | sed 's/-i386//;s/-x86_64//') - rm -f $disttag-SRPMS.iso $disttag-$distvers-SRPMS.iso - - mkisofs $mkisopts \ - -V "$distname $distvers SRPMS" \ - -A "$distname SRPMS created on $today" \ - -x lost+found \ - -x CVS \ - -x cdrom.image \ - -o "$disttag-$distvers-SRPMS".iso \ - --graft-points \ - ./SRPMS=SRPMS \ - GPL=cdrom.image/GPL \ - RPM-GPG-KEY-SMEServer7=cdrom.image/RPM-GPG-KEY-SMEServer - - md5sum $disttag-$distvers-SRPMS.iso > $disttag-$distvers-SRPMS.iso.md5sum - zsyncmake $disttag-$distvers-SRPMS.iso - mv $disttag-$distvers-SRPMS.iso $disttag-SRPMS.iso - ln -sf $disttag-SRPMS.iso $disttag-$distvers-SRPMS.iso - fi + echo "No $distarch directory?" + exit 1 +fi + +for img in product updates +do + if [ "$distrel" == "7" ] + then + /usr/bin/mkcramfs \ + $(pwd)/$distarch/$img \ + $(pwd)/$distarch/SME/base/$img.img + else + /sbin/mksquashfs \ + $(pwd)/$distarch/$img \ + $(pwd)/$distarch/images/$img.img \ + -all-root -no-fragments -noappend + sudo chmod 664 $(pwd)/$distarch/images/$img.img + fi +done + +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 + + PYTHONPATH=/usr/lib/anaconda/ /usr/lib/anaconda-runtime/genhdlist \ + --productpath SME \ + --withnumbers \ + --fileorder pkgorder \ + $(pwd)/$distarch/ +fi + +rm -f ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso ../iso/$distrel/$distarch/$disttag.iso + +if [ "$distrel" == "7" ] +then + createrepo $(pwd)/$distarch/ +else + createrepo -g repodata/comps.xml -u "media://$(head -1 $distarch/.discinfo)" $(pwd)/$distarch/ +fi +sync; rm -rf $(pwd)/$distarch/.olddata +repoview $(pwd)/$distarch/ +sync; rm -rf $(pwd)/$distarch/.repodata + +bootimg='isolinux/isolinux.bin' +bootcat='isolinux/boot.cat' +mkisopts='-v -U -J -r -T' +today="$(date '+%d %b %Y')" +mkisofs $mkisopts \ + -V "$distname $distvers" \ + -A "$distname created on $today" \ + -b "$bootimg" \ + -c "$bootcat" \ + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -x lost+found \ + -x CVS \ + -o ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso \ + $(pwd)/$distarch/ + +/usr/lib/anaconda-runtime/implantisomd5 ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso +dd if=/dev/zero bs=2048 count=150 >> ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso +md5sum ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso > ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso.md5sum +sha1sum ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso > ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso.sha1sum +zsyncmake -o ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso.zsync ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso +mv ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso ../iso/$distrel/$distarch/$disttag.iso +ln -sf $disttag.iso ../iso/$distrel/$distarch/$disttag-$distvers-$distarch.iso + +if [ -d SRPMS -a "$distarch" == "i386" ] +then + rm -f ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso ../iso/$distrel/source/$disttag-SRPMS.iso + + mkisofs $mkisopts \ + -V "$distname $distvers SRPMS" \ + -A "$distname SRPMS created on $today" \ + -x lost+found \ + -x CVS \ + -o ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso \ + --graft-points \ + ./SRPMS=SRPMS \ + GPL=$distarch/GPL \ + RPM-GPG-KEY-SMEServer=$distarch/RPM-GPG-KEY-SMEServer + + md5sum ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso > ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso.md5sum + sha1sum ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso > ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso.sha1sum + zsyncmake -o ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso.zsync ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso + mv ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso ../iso/$distrel/source/$disttag-SRPMS.iso + ln -sf $disttag-SRPMS.iso ../iso/$distrel/source/$disttag-$distvers-SRPMS.iso fi # That's it.