. ../locations.include MYPWD=`pwd` export MYPWD if [ $ARCH != `uname -i` ] ; then echo "You seem to be trying to build arch $ARCH , on a `uname -i` system" echo "exiting" exit 1 fi #clean up old ones for i in 1 2 3 4 5 6 7 8 do if [ -d $RELEASEDIR/$ARCH-disc0-disc$i ] ; then rm -r $RELEASEDIR/$ARCH-disc0-disc$i fi done if [ -d $RELEASEDIR/$ARCH-disc0 ] ; then rm -r $RELEASEDIR/$ARCH-disc0 mkdir -p $RELEASEDIR/$ARCH-disc0 fi # Make disc0 #copy in isolinux and special *.iso config files #sh $MYPWD/subscripts/fix.isolinux.sh mkdir -p $RELEASEDIR/$ARCH-disc0/isolinux cp -fa $RELEASEDIR/$ARCH/$SITEDIR/isolinux/* $RELEASEDIR/$ARCH-disc0/isolinux/ if [ -f $RELEASEDIR/$ARCH/$SITEDIR/build/isolinux/isolinux.cfg.iso ] ; then cp -f $RELEASEDIR/$ARCH/$SITEDIR/build/isolinux/isolinux.cfg.iso $RELEASEDIR/$ARCH-disc0/isolinux/isolinux.cfg fi if [ -f $RELEASEDIR/$ARCH/$SITEDIR/build/isolinux/boot.msg.iso ] ; then cp -f $RELEASEDIR/$ARCH/$SITEDIR/build/isolinux/boot.msg.iso $RELEASEDIR/$ARCH-disc0/isolinux/boot.msg fi if [ -d $RELEASEDIR/$ARCH/$SITEDIR/RHupdates ] ; then cp -a $RELEASEDIR/$ARCH/$SITEDIR/RHupdates $RELEASEDIR/$ARCH-disc0/$SITEDIR/ fi #make updates.img from original area and copy in cd $MYPWD/.. ./make.updates.img.sh #Copy over misc things cp $RELEASEDIR/$ARCH/.discinfo $RELEASEDIR/$ARCH-disc0/ #copy in $SITEDIR/RPMS which are RPMS mkdir -p $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/*.noarch.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/[a-m]*.i386.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/[a-m]*.x86_64.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/[n-z]*.i386.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/[n-z]*.x86_64.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/RPMS/*.i686.rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln $RELEASEDIR/$ARCH/$SITEDIR/updates/security/*rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS ln -f $RELEASEDIR/$ARCH/$SITEDIR/SITERPMS/*rpm $RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS cd $RELEASEDIR/$ARCH/$SITEDIR/workgroups find . -name "*.rpm" -print | xargs cp -av --target-directory=$RELEASEDIR/$ARCH-disc0/$SITEDIR/RPMS/ cd - mkdir $RELEASEDIR/$ARCH-disc0/repodata/ mkdir -p $RELEASEDIR/$ARCH-disc0/build/base/ cp -av $RELEASEDIR/$ARCH/$SITEDIR/build/base/* $RELEASEDIR/$ARCH-disc0/build/base/ cp -av $RELEASEDIR/$ARCH/$SITEDIR/SITERPMS/repodata/comps-site.xml $RELEASEDIR/$ARCH-disc0/repodata/ # echo "Using $RELEASEDIR/$ARCH-disc0/build/base/pkgorder as the fileorder file" #echo "and not making a new one" echo "and making a new one" cd $RELEASEDIR/$ARCH-disc0 createrepo -g $RELEASEDIR/$ARCH-disc0/repodata/comps-site.xml . cd - $MYPWD/pkgorder $RELEASEDIR/$ARCH-disc0/ $ARCH $SITEDIR > /tmp/pkgorder cp -v /tmp/pkgorder $RELEASEDIR/$ARCH-disc0/build/base/pkgorder #Run splittree.py to split the $SITEDIR/RPMS onto multiple cd's #cd $MYPWD/subscripts #set `./calculate.num.cds.sh` #TOTBINCD=$1 #TOTSRCCD=$2 #TOTCD=$3 #if [ $ARCH = i386 ] ; then # TOTBINCD=7 # TOTSRCCD=1 # TOTCD=7 # RESERVE=150000000 #else # TOTBINCD=6 # TOTSRCCD=1 # TOTCD=7 # RESERVE=160000000 #fi export TOTBINCD TOTSRCCD TOTCD echo "\$TOTBINCD=$TOTBINCD; \$TOTSRCCD=$TOTSRCCD; \$TOTCD=$TOTCD" echo "Total Binary cds is $TOTBINCD, Total SRC cds is $TOTSRCCD" echo "Running splittree to decide on how to span the cd images" echo "$MYPWD/splittree.py --arch=$ARCH --total-discs=$TOTCD " \ "--bin-discs=$TOTBINCD --src-discs=$TOTSRCCD --release-string=$SITE " \ "--pkgorderfile=/tmp/pkgorder " \ "--srcdir=$RELEASEDIR/SRPMS/$SITEDIR/ --distdir=$RELEASEDIR/$ARCH-disc0 " \ "--productpath=$SITEDIR --reserve-size=$RESERVE" $MYPWD/splittree.py --arch=$ARCH --total-discs=$TOTCD \ --bin-discs=$TOTBINCD --src-discs=$TOTSRCCD --release-string=$SITEDIR \ --pkgorderfile=/tmp/pkgorder \ --srcdir=$RELEASEDIR/SRPMS/$SITEDIR/ --distdir=$RELEASEDIR/$ARCH-disc0 \ --productpath=$SITEDIR --reserve-size=$RESERVE cd $RELEASEDIR #TMPBINAREA=`echo $ARCH-disc0-disc[1-$TOTBINCD]/$SITEDIR $ARCH-disc0/$SITEDIR/SITERPMS $ARCH-disc0/$SITEDIR/updates/security $ARCH-disc0/$SITEDIR/workgroups` TMPBINAREA=`echo $ARCH-disc0-disc[1-$TOTBINCD]/$SITEDIR/RPMS ` echo "Running createrepo against $TMPBINAREA" MDATE=`date "+%s"` echo "/usr/bin/createrepo " \ "--groupfile $RELEASEDIR/$ARCH/$SITEDIR/RPMS/repodata/comps-sl.xml " \ "--baseurl media://$MDATE.836690 " \ "--outputdir $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/ " \ "--basedir $RELEASEDIR " \ "--split $TMPBINAREA" cd $RELEASEDIR /usr/bin/createrepo \ --groupfile $RELEASEDIR/$ARCH/$SITEDIR/RPMS/repodata/comps-sl.xml \ --baseurl media://$MDATE.836690 \ --outputdir $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/ \ --basedir $RELEASEDIR \ --split $TMPBINAREA if [ -d $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/repodata ] ; then mv $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/repodata $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/RPMS fi echo "Copying things to disc1" mkdir -p $RELEASEDIR/$ARCH-disc0-disc1/images echo "CCC" if [ -d $TREE/$SITEDIR/images ] ; then echo "CCD" cd $TREE/$SITEDIR/images find . -print | cpio -pvdum $RELEASEDIR/$ARCH-disc0-disc1/images cd $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/ ln -s ../../images images fi echo $TREE mkdir $RELEASEDIR/$ARCH-disc0-disc1/RPM-GPG-KEYs cp -a $RELEASEDIR/$ARCH/RPM-GPG-KEYs $RELEASEDIR/$ARCH-disc0-disc1/RPM-GPG-KEYs #copy in the documentation if [ -d $RELEASEDIR/$ARCH/$DEFAULT.documentation ] ; then mkdir $RELEASEDIR/$ARCH-disc0-disc1/$DEFAULT.documentation cp -ra $RELEASEDIR/$ARCH/$DEFAULT.documentation/ $RELEASEDIR/$ARCH-disc0-disc1/ fi cp -p $RELEASEDIR/$ARCH/$SITEDIR/$SITE.releasenote* $RELEASEDIR/$ARCH-disc0-disc1/ cp -p $RELEASEDIR/$ARCH/README $RELEASEDIR/$ARCH-disc0-disc1/ ln -f $RELEASEDIR/$ARCH/GPL $RELEASEDIR/$ARCH-disc0-disc1/ cp -p $RELEASEDIR/$ARCH/RELEASE-NOTES*.html $RELEASEDIR/$ARCH-disc0-disc1/ #workgroups need the comps files and repomd.xml mkdir -p $RELEASEDIR/$ARCH-disc0/$ARCH-disc0-disc1/$SITEDIR/workgroups/ cd $RELEASEDIR/$ARCH/$SITEDIR/workgroups find . -name "comps*" -print | cpio -pvdum $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/workgroups/ find . -name "repomd.xml" -print | cpio -pvdum $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/workgroups/ cd $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/workgroups/ for i in * do cd $i createrepo -g repodata/comps-workgroup.xml . cd - done mkdir -p $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/SITERPMS/repodata cp -av $RELEASEDIR/$ARCH/$SITEDIR/SITERPMS/repodata/comps-site.xml $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/SITERPMS/repodata cd $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/SITERPMS/ createrepo -g repodata/comps-site.xml . cd $MYPWD if [ -d $TREE/updates/fastbugs/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs/ cd $TREE/updates/fastbugs/ ln $TREE/updates/fastbugs/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs/ createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs fi #if [ -d $TREE/$SITEDIR/updates/security/ ] ; then # mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security/ # cd $TREE/$SITEDIR/updates/security/ # ln $TREE/$SITEDIR/updates/security/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security/ # createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security #fi if [ -d $RELEASEDIR/$ARCH-disc0/build/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/ cp -a $TREE/build/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/ mv -f $RELEASEDIR/$ARCH-disc0/build/base/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/base/ if [ -d $RELEASEDIR/$ARCH-disc0-disc1/build/base ] ; then rm -r $RELEASEDIR/$ARCH-disc0-disc1/build/base rmdir $RELEASEDIR/$ARCH-disc0-disc1/build fi fi if [ -d $RELEASEDIR/$ARCH/$SITEDIR/contrib/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/ mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/SRPMS cd $RELEASEDIR/$ARCH/$SITEDIR//contrib/ for i in * do if [ ! $i = "headers" ] ; then if [ -d $i ] ; then mkdir $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i ln $RELEASEDIR/$ARCH/$SITEDIR/contrib/$i/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i/ fi fi done cd $RELEASEDIR/$ARCH/$SITEDIR/contrib/SRPMS/ for i in * do if [ -d $i ] ; then mkdir $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/SRPMS/$i ln $RELEASEDIR/$ARCH/$SITEDIR/contrib/SRPMS/$i/*.src.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i/SRPMS/ fi done createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib fi #Just do not have enough space on last cd so making a new one for SRPMS #if [ $ARCH = "i386" ] ; then # TOTCD=`expr $TOTCD + 1` # mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD #fi #if [ -d $RELEASEDIR/SRPMS/SL/ ] ; then # mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/SRPMS/ # cd $RELEASEDIR/SRPMS/SL # ln $RELEASEDIR/SRPMS/SL/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/SRPMS/ #fi #Clean up a few things if [ -d $RELEASEDIR/$ARCH-disc0-disc1/repodata ] ; then rm -r $RELEASEDIR/$ARCH-disc0-disc1/repodata fi