. ../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 fi mkdir -p $RELEASEDIR/$ARCH-disc0 # 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 "doing a createrepo of $RELEASEDIR/$ARCH-disc0 in quiet mode" cd $RELEASEDIR/$ARCH-disc0 createrepo -q -g $RELEASEDIR/$ARCH-disc0/repodata/comps-site.xml . cd - 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" $MYPWD/pkgorder.site $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 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 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 #The following is because the x86_64 version needs a rpm in the repo, or it dies ln $RELEASEDIR/$ARCH/$SITEDIR/SITERPMS/yum-conf-5x* $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/SITERPMS/ cd $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/SITERPMS/ createrepo -g repodata/comps-site.xml . cd $MYPWD #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 $ARCH-disc0-disc1/$SITEDIR/SITERPMS` 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 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-disc1/$SITEDIR/updates/security/ # cd $TREE/$SITEDIR/updates/security/ # ln $TREE/$SITEDIR/updates/security/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security/ createrepo $RELEASEDIR/$ARCH-disc0-disc1/$SITEDIR/updates/security fi if [ -d $RELEASEDIR/$ARCH-disc0/$SITEDIR/build/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/ cp -a $TREE/$SITEDIR/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