#!/bin/sh function build_slackware () { cp /usr/src/redhat/SOURCES/$1.tar.gz /slackware/slackware/usr/src/ ( cd /slackware/slackware || { echo "cannot cd to slackware/slackware" exit 1 } chroot /slackware/slackware bash -c "\ echo '----- untaring source for libc5 build' ; \ cd /usr/src ; \ rm -Rf $1 ; \ tar -xzf $1.tar.gz || (echo untar failed ; exit 1 ) ; \ cd $1 || (echo cd $1 ; exit 1 ) ; \ echo '----- running CFLAGS=-O2 -fomit-frame-pointer -s ./configure --prefix=/usr' ; \ CFLAGS='-O2 -fomit-frame-pointer -s' ./configure --prefix=/usr > /dev/null \ || (echo build failed ; exit 1 ) ; \ echo '----- running make' ; \ make > /dev/null \ || (echo build failed ; exit 1 ) ; \ echo '----- running make install' ; \ make install > /dev/null \ || (echo build failed ; exit 1 ) ; \ echo '----- running make-binary-tar.sh cooledit $2' ; \ make-binary-tar.sh cooledit $2 ; \ " ) } TAR_DIRECTORY=/home/current/cooledit-dist if [ "$1" = "" -o "$2" = "" ] ; then echo Usage: ./make-dist oldversion newversion exit 1 fi OLD_MAJOR=`echo $1 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1/'` OLD_MINOR=`echo $1 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\2/'` OLD_PATCH=`echo $1 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\3/'` MAJOR=`echo $2 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1/'` MINOR=`echo $2 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\2/'` PATCH=`echo $2 | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\3/'` #OLD_MAJOR=`cat $TAR_DIRECTORY/major` #OLD_MINOR=`cat $TAR_DIRECTORY/minor` #OLD_PATCH=`cat $TAR_DIRECTORY/patch` # let PATCH=0 # let MINOR=0 # let MAJOR=$OLD_MAJOR+1 # let PATCH=0 # let MINOR=$OLD_MINOR+1 # let MAJOR=$OLD_MAJOR #let PATCH=$OLD_PATCH+1 #let MINOR=$OLD_MINOR #let MAJOR=$OLD_MAJOR VERSION=$MAJOR.$MINOR.$PATCH OLD_VERSION=$OLD_MAJOR.$OLD_MINOR.$OLD_PATCH SVERSION=$MAJOR$MINOR$PATCH FTP_DIR=/home/ftp/pub TEMP_FILE=$TAR_DIRECTORY/temp DIST_NAME=cooledit-$VERSION DIST_DIRECTORY=/home/current/cooledit-dist/$DIST_NAME OLD_DIST_NAME=cooledit-$OLD_VERSION OLD_DIST_DIRECTORY=/home/current/cooledit-dist/$OLD_DIST_NAME SRC_DIRECTORY=/home/current/cooledit-src echo Now creating distribution version $VERSION # create directories rm -rf $DIST_DIRECTORY cd $OLD_DIST_DIRECTORY/ make distclean 2>&1 1>/dev/null mkdir $DIST_DIRECTORY mkdir $DIST_DIRECTORY/bitmap mkdir $DIST_DIRECTORY/cursor mkdir $DIST_DIRECTORY/editor mkdir $DIST_DIRECTORY/editor/swig mkdir $DIST_DIRECTORY/lib mkdir $DIST_DIRECTORY/icon mkdir $DIST_DIRECTORY/intl mkdir $DIST_DIRECTORY/man mkdir $DIST_DIRECTORY/pixmap mkdir $DIST_DIRECTORY/po mkdir $DIST_DIRECTORY/rxvt mkdir $DIST_DIRECTORY/widget mkdir $DIST_DIRECTORY/syntax find $DIST_DIRECTORY -type d | xargs chmod 0777 chmod 0777 $DIST_DIRECTORY TODAY=`date '+%e %B %Y'` TODAY=`echo $TODAY | sed 's/\ /\\\ /g'` STODAY=`date '+%d%b%y' | tr 'a-z' 'A-Z'` STODAY=`echo $STODAY | sed 's/\ /\\\ /g'` SCMD=s/r_VERSION_r/$VERSION/g DCMD=s/r_DATE_r/$TODAY/g TCMD=s/r_SDATE_r/$STODAY/g # create README file cat $SRC_DIRECTORY/readme | sed $SCMD | sed "$DCMD" \ > $TEMP_FILE grep -h '\.SH ' $SRC_DIRECTORY/man/cooledit.1 | sed 's/\.SH//g' | grep -h -v -n '@@@@' >> $TEMP_FILE echo -e '\n\n' >> $TEMP_FILE cat $SRC_DIRECTORY/man/cooledit.1 | sed $SCMD | sed "$DCMD" | \ nroff -Tascii -mandoc - | ul -t unknown >> $TEMP_FILE cp $TEMP_FILE $DIST_DIRECTORY/README (echo -e "This is a complete list of hint messages displayed on the title bar\n\n" cat $SRC_DIRECTORY/editor/cooledit.c | sed -e '/HINTSTART/,/HINTEND/!D' | \ grep gettext_noop | sed -e 's/^.*gettext_noop[(]["]\(.*\)["][)].*$/\1/' | nl ) \ > $DIST_DIRECTORY/HINTS # copy top level directory TOP_LEVEL_FILES="0install-quick ABOUT-NLS AUTHORS BUGS COPYING ChangeLog NEWS \ TODO INTERNATIONAL MAILING_LIST acconfig.h aclocal.m4 config.guess \ config.h.in config.sub global.h install-sh mkinstalldirs \ stamp-h.in ltconfig ltmain.sh missing make-dist make-binary-tar.sh" for f in $TOP_LEVEL_FILES ; do cp $SRC_DIRECTORY/$f $DIST_DIRECTORY/$f ; done # copy makefile cp $SRC_DIRECTORY/Makefile.am $DIST_DIRECTORY/Makefile.am cp $SRC_DIRECTORY/editor/Makefile.am $DIST_DIRECTORY/editor/Makefile.am cp $SRC_DIRECTORY/editor/swig/Makefile $DIST_DIRECTORY/editor/swig/Makefile cp $SRC_DIRECTORY/lib/Makefile.am $DIST_DIRECTORY/lib/Makefile.am cp $SRC_DIRECTORY/icon/Makefile.am $DIST_DIRECTORY/icon/Makefile.am cp $SRC_DIRECTORY/man/Makefile.am $DIST_DIRECTORY/man/Makefile.am cp $SRC_DIRECTORY/rxvt/Makefile.am $DIST_DIRECTORY/rxvt/Makefile.am cp $SRC_DIRECTORY/widget/Makefile.am $DIST_DIRECTORY/widget/Makefile.am # cp $SRC_DIRECTORY/man/syntax $DIST_DIRECTORY/man/syntax # set version number for f in cooledit.spec cooledit.lsm coolicon.lsm coolman.lsm man/coolman.1 \ man/smalledit.1 man/cooledit.1 man/coolicon.1 configure.in \ pixmap/modify-xinitrc PROGRAMMING FAQ VERSION INSTALL cooledit.gif cooledit_16x16.xpm cooledit_32x32.xpm ; do cat $SRC_DIRECTORY/$f | sed -e "$SCMD" -e "$DCMD" -e "$TCMD" > \ $DIST_DIRECTORY/$f ; done # copy sources cp $SRC_DIRECTORY/widget/*.[ch] $DIST_DIRECTORY/widget/ cp $SRC_DIRECTORY/rxvt/*.[ch] $DIST_DIRECTORY/rxvt/ cp $SRC_DIRECTORY/rxvt/README* $DIST_DIRECTORY/rxvt/ cp $SRC_DIRECTORY/editor/*.[ch] $DIST_DIRECTORY/editor/ cp $SRC_DIRECTORY/editor/cooledit-gdb $DIST_DIRECTORY/editor/ cp $SRC_DIRECTORY/editor/coolproject $DIST_DIRECTORY/editor/ cp $SRC_DIRECTORY/editor/swig/*.i $DIST_DIRECTORY/editor/swig/ cp $SRC_DIRECTORY/lib/*.py $DIST_DIRECTORY/lib/ cp $SRC_DIRECTORY/icon/*.[ch] $DIST_DIRECTORY/icon/ cp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/editor/install-sh cp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/icon/install-sh cp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/man/install-sh cp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/widget/install-sh cp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/rxvt/install-sh cp $SRC_DIRECTORY/cursor/* $DIST_DIRECTORY/cursor/ cp $SRC_DIRECTORY/bitmap/*.bitmap $DIST_DIRECTORY/bitmap/ cp $SRC_DIRECTORY/pixmap/* $DIST_DIRECTORY/pixmap/ ; rm $DIST_DIRECTORY/pixmap/Makefile cp $SRC_DIRECTORY/syntax/*.syntax $SRC_DIRECTORY/syntax/Makefile.* $DIST_DIRECTORY/syntax/ INTL="ChangeLog Makefile.in VERSION bindtextdom.c cat-compat.c dcgettext.c dgettext.c \ explodename.c finddomain.c gettext.c gettext.h gettextP.h hash-string.h \ install-sh intl-compat.c l10nflist.c libgettext.h linux-msg.sed loadinfo.h \ loadmsgcat.c localealias.c po2tbl.sed.in textdomain.c xopen-msg.sed intlh.inst.in" for f in $INTL ; do cp $SRC_DIRECTORY/intl/$f $DIST_DIRECTORY/intl/ ; done PO="Makefile.in.in POTFILES.in cat-id-tbl.c cooledit.pot install-sh \ msgfmt.all msgmerge.all stamp-cat-id" for f in $PO ; do cp $SRC_DIRECTORY/po/$f $DIST_DIRECTORY/po/ ; done cp $SRC_DIRECTORY/po/*.po $DIST_DIRECTORY/po/ ; cp $SRC_DIRECTORY/po/*.gmo $DIST_DIRECTORY/po/ ; # create Makefiles, the configure script and the headers cd $DIST_DIRECTORY/ aclocal automake --gnu autoconf autoheader # force `use included getttext': cp configure configure.old cat configure.old | sed -e 's/nls_cv_force_use_gnu_gettext=no/nls_cv_force_use_gnu_gettext=yes/g' > configure rm -f configure.old # edit out '&& $(AUTOMAKE)' and the like MAKEFILE_INS="Makefile.in editor/Makefile.in icon/Makefile.in man/Makefile.in widget/Makefile.in rxvt/Makefile.in" for f in $MAKEFILE_INS ; do cat $DIST_DIRECTORY/$f | \ sed -e 's/\&\&\ \$.AUTO.*$//g' -e 's/\&\&\ \$.ACLOCAL.*$//g' > \ $TEMP_FILE ; cp $TEMP_FILE $DIST_DIRECTORY/$f ; done # set permissions chmod -R 0666 $DIST_DIRECTORY chown -R root:root $DIST_DIRECTORY EXECUTABLES="bitmap editor cursor widget rxvt po intl 0install-quick config.guess \ config.sub configure install-sh mkinstalldirs missing pixmap/modify-xinitrc \ ltconfig widget/install-sh rxvt/install-sh po/install-sh intl/install-sh \ editor/install-sh icon/install-sh man/install-sh po/msgfmt.all \ po/msgmerge.all editor/cooledit-gdb editor/coolproject" for f in $EXECUTABLES ; do chmod 0777 $DIST_DIRECTORY/$f ; done # get the tar file size and update the LSM file. cd $DIST_DIRECTORY cd .. find ./$DIST_NAME -type d | xargs chmod a+x tar -czf $TAR_DIRECTORY/cooledit-$VERSION.tar.gz ./$DIST_NAME # ls -s seems to add on 4kB -- wierd ?!?!?! ls -l $TAR_DIRECTORY/cooledit-$VERSION.tar.gz | sed 's/[0-9][0-9][0-9][0-9][0-9]*/\ &\ /g' | sed '$D' | sed '1D' \ > $TEMP_FILE let SIZE=`cat $TEMP_FILE` let SIZE=$SIZE/1024 cat $DIST_DIRECTORY/cooledit.lsm \ | sed "s/[0-9][0-9][0-9]*kB\ cooledit\-/${SIZE}kB\ cooledit\-/g" \ > $TEMP_FILE cp $TEMP_FILE ./cooledit.lsm cp $TEMP_FILE $DIST_DIRECTORY/cooledit.lsm rm $TAR_DIRECTORY/cooledit-$VERSION.tar.gz # pack up the distribution cd $DIST_DIRECTORY cd .. tar -czf $TAR_DIRECTORY/cooledit-$VERSION.tar.gz ./$DIST_NAME cp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz /home/ftp/pub/cooledit/ #cp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz $TAR_DIRECTORY/coole$SVERSION.tgz cp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz $FTP_DIR/ cp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz /usr/src/redhat/SOURCES/ cp $DIST_DIRECTORY/cooledit.lsm $TAR_DIRECTORY/ cp $DIST_DIRECTORY/cooledit.lsm $FTP_DIR/ cd $TAR_DIRECTORY diff -u --recursive --new-file ./$OLD_DIST_NAME ./$DIST_NAME \ | grep -v 'Only in \.\/cooledit\-' \ > ./patch-$OLD_VERSION-$VERSION grep 'No newline at end of file' $TAR_DIRECTORY/patch-$OLD_VERSION-$VERSION rm -f ./patch-$OLD_VERSION-$VERSION.gz ./patch-$OLD_VERSION-$VERSION.bz2 bzip2 ./patch-$OLD_VERSION-$VERSION douuencode ./patch-$OLD_VERSION-$VERSION.bz2 ./patch$PATCH.uu echo $PATCH > $TAR_DIRECTORY/patch echo $MINOR > $TAR_DIRECTORY/minor echo $MAJOR > $TAR_DIRECTORY/major rm -f $TAR_DIRECTORY/cooledit-latest ln -s $DIST_DIRECTORY $TAR_DIRECTORY/cooledit-latest rm $TEMP_FILE cp $DIST_DIRECTORY/cooledit.spec /usr/src/redhat/SPECS/ cp $DIST_DIRECTORY/cooledit.gif /usr/src/redhat/SOURCES/ echo "building rpm" ( rm -f /usr/src/redhat/RPMS/i386/cooledit-$VERSION-1.i386.rpm cd /usr/src/redhat/SPECS rpm -ba --sign cooledit.spec > /dev/null ) || exit 0 echo "converting to deb, sl, tgz" rm -Rf $TAR_DIRECTORY/packages/$VERSION >& /dev/null mkdir -p $TAR_DIRECTORY/packages/$VERSION cp /usr/src/redhat/RPMS/i386/cooledit-$VERSION-1.i386.rpm $TAR_DIRECTORY/packages/$VERSION/ ( cd $TAR_DIRECTORY/packages/$VERSION/ alien -d cooledit-$VERSION-1.i386.rpm alien -t cooledit-$VERSION-1.i386.rpm alien --to-slp cooledit-$VERSION-1.i386.rpm ) ( cd $SRC_DIRECTORY && ./make-web-pages.sh $DIST_DIRECTORY ) exit ./make-dist-copy $OLD_VERSION $VERSION