. ../locations.include ANACONDADIR="$TREE/build/scripts/buildisoimages/" 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 MEDIA=$1 if [ -z $MEDIA ] ; then echo "You must pass either \"CD\" or \"DVD\" " exit 1 fi if [ $MEDIA = "dvd" -o $MEDIA = "DVD" ] ; then TOTBINISO=$TOTBINDVD TOTISO=$TOTDVD TOTSRCISO=$TOTSRCDVD MEDIA="DVD" DISCSIZE=$DISCSIZEDVD else if [ $MEDIA = "cd" -o $MEDIA = "CD" ] ; then TOTBINISO=$TOTBINCD TOTISO=$TOTCD TOTSRCISO=$TOTSRCCD MEDIA="CD" DISCSIZE=$DISCSIZECD else echo "You must pass either \"CD\" or \"DVD\" " exit 1 fi fi echo "You selected to create $MEDIA iso images" #clean up old ones echo "Cleaning up the old areas" for i in $(seq 1 $TOTCD) 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 # Make disc0 echo "Make disk0" mkdir -vp $RELEASEDIR/$ARCH-disc0/$DEFAULT #copy in the documentation if [ -d $RELEASEDIR/$ARCH/$DEFAULT.documentation ] ; then mkdir $RELEASEDIR/$ARCH-disc0/$DEFAULT.documentation cp -ra $RELEASEDIR/$ARCH/$DEFAULT.documentation/ $RELEASEDIR/$ARCH-disc0/ fi cp -p $RELEASEDIR/$ARCH/$DEFAULT.releasenote* $RELEASEDIR/$ARCH-disc0/ cp -p $RELEASEDIR/$ARCH/README $RELEASEDIR/$ARCH-disc0/ ln -f $RELEASEDIR/$ARCH/GPL $RELEASEDIR/$ARCH-disc0/ cp -p $RELEASEDIR/$ARCH/RELEASE-NOTES*.html $RELEASEDIR/$ARCH-disc0/ #copy in isolinux and special *.iso config files #sh $MYPWD/subscripts/fix.isolinux.sh mkdir $RELEASEDIR/$ARCH-disc0/isolinux cp -fa $RELEASEDIR/$ARCH/isolinux/* $RELEASEDIR/$ARCH-disc0/isolinux/ if [ -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/isolinux.cfg.iso ] ; then cp -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/isolinux.cfg.iso $RELEASEDIR/$ARCH-disc0/isolinux/isolinux.cfg fi if [ -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/boot.msg.iso ] ; then cp -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/boot.msg.iso $RELEASEDIR/$ARCH-disc0/isolinux/boot.msg fi if [ -d $RELEASEDIR/$ARCH/RHupdates ] ; then cp -a $RELEASEDIR/$ARCH/RHupdates $RELEASEDIR/$ARCH-disc0/ fi #make updates.img from original area and copy in cd $MYPWD/.. ./make.updates.img.sh #Copy over misc things cd - cp $RELEASEDIR/$ARCH/.discinfo $RELEASEDIR/$ARCH-disc0/ cp -a $RELEASEDIR/$ARCH/RPM-GPG-KEYs $RELEASEDIR/$ARCH-disc0/ ###### #begin copy in $DEFAULT/RPMS which are RPMS #First Change into the directory cd $RELEASEDIR/$ARCH/$DEFAULT/ #Do the links echo "Starting to link in the rpms" ln *.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/ #Then change back into the original directory cd - #end copy mkdir $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/ mkdir -p $RELEASEDIR/$ARCH-disc0/build/base/ cp -a $RELEASEDIR/$ARCH/$DEFAULT/repodata/* $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/ cp -a $RELEASEDIR/$ARCH/build/base/* $RELEASEDIR/$ARCH-disc0/build/base/ # cd $RELEASEDIR/$ARCH-disc0 echo "Running createrepo in quiet mode" createrepo --quiet -g $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/comps*xml . cd - echo "Using $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT as the fileorder file" if [ ! -n $2 ] ; then echo "and not making a new one" cp $RELEASEDIR/$ARCH/build/base/$FILEORDER-$DEFAULT.save $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT else echo "and making a new one" $ANACONDADIR/pkgorder $RELEASEDIR/$ARCH-disc0/ $ARCH $DEFAULT > $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT cp $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT $RELEASEDIR/$ARCH/build/base/$FILEORDER-$DEFAULT.save fi #Run splittree.py to split the $DEFAULT/RPMS onto multiple cd's echo "Total Binary $MEDIA iso is $TOTBINISO, Total SRC $MEDIA is $TOTSRCISO" echo "Running splittree to decide on how to span the cd images" echo "$ANACONDADIR/splittree.py --arch=$ARCH --total-discs=$TOTISO " \ "--bin-discs=$TOTBINISO --src-discs=$TOTSRCISO --release-string=$DEFAULT " \ "--disc-size=$DISCSIZE " \ "--pkgorderfile=$RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT " \ "--srcdir=$RELEASEDIR/SRPMS/$DEFAULT/ --distdir=$RELEASEDIR/$ARCH-disc0 " \ "--productpath=$DEFAULT --reserve-size=$ISO1RESERVESIZE " $ANACONDADIR/splittree.py --arch=$ARCH --total-discs=$TOTISO \ --bin-discs=$TOTBINISO --src-discs=$TOTSRCISO --release-string=$DEFAULT \ --disc-size=$DISCSIZE \ --pkgorderfile=$RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT \ --srcdir=$RELEASEDIR/SRPMS/$DEFAULT/ --distdir=$RELEASEDIR/$ARCH-disc0 \ --productpath=$DEFAULT --reserve-size=$ISO1RESERVESIZE echo "Running createrepo against $RELEASEDIR/$ARCH-disc0-disc[1-$TOTBINISO]" cd $RELEASEDIR TMPBINAREA=`echo $ARCH-disc0-disc[1-$TOTBINISO]/$DEFAULT` MDATE=`date "+%s"` echo "/usr/bin/createrepo " \ "--groupfile $RELEASEDIR/$ARCH/$DEFAULT/repodata/comps-sl.xml " \ "--baseurl media://$MDATE.836690 " \ "--outputdir $RELEASEDIR/$ARCH-disc0-disc1/$DEFAULT/ " \ "--basedir $RELEASEDIR " \ "--split $TMPBINAREA" cd $RELEASEDIR /usr/bin/createrepo \ --groupfile $RELEASEDIR/$ARCH/$DEFAULT/repodata/comps-sl.xml \ --baseurl media://$MDATE.836690 \ --outputdir $RELEASEDIR/$ARCH-disc0-disc1/$DEFAULT/ \ --basedir $RELEASEDIR \ --split $TMPBINAREA echo "" mkdir -p $RELEASEDIR/$ARCH-disc0-disc1/images if [ -d $TREE/images/$DEFAULT ] ; then cd $TREE/images/$DEFAULT find . -print | cpio -pvdum $RELEASEDIR/$ARCH-disc1/images else cd $TREE/images find . -print | cpio -pvdum $RELEASEDIR/$ARCH-disc0-disc1/images fi echo $TREE if [ -d $TREE/updates/fastbugs/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTISO/fastbugs/ cd $TREE/updates/fastbugs/ ln $TREE/updates/fastbugs/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTISO/fastbugs/ createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTISO/fastbugs fi if [ -d $TREE/updates/security/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTISO/security/ cd $TREE/updates/security/ ln $TREE/updates/security/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTISO/security/ createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTISO/security fi if [ -d $RELEASEDIR/$ARCH-disc0/build/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTISO/build/ cp -a $TREE/build/* $RELEASEDIR/$ARCH-disc0-disc$TOTISO/build/ mv -f $RELEASEDIR/$ARCH-disc0/build/base/* $RELEASEDIR/$ARCH-disc0-disc$TOTISO/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 $TREE/contrib/ ] ; then mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib/ cd $TREE/contrib/ for i in * do if [ ! $i = "repodata" ] ; then if [ ! $i = "SRPMS" ] ; then if [ -d $i ] ; then mkdir $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib/$i ln $TREE/contrib/$i/* $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib/$i/ fi fi fi done mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib/SRPMS cd $TREE/contrib/SRPMS/ for i in * do if [ -d $i ] ; then ln $i/*.src.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib/SRPMS/ fi done createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTISO/contrib fi #Clean up a few things if [ -d $RELEASEDIR/$ARCH-disc0-disc1/repodata ] ; then rm -r $RELEASEDIR/$ARCH-disc0-disc1/repodata fi echo `date` > $RELEASEDIR/$ARCH-disc0-disc1/.$MEDIA