📄 make-dist
字号:
#!/bin/shfunction 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-distif [ "$1" = "" -o "$2" = "" ] ; then echo Usage: ./make-dist oldversion newversion exit 1fiOLD_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_MAJORVERSION=$MAJOR.$MINOR.$PATCHOLD_VERSION=$OLD_MAJOR.$OLD_MINOR.$OLD_PATCHSVERSION=$MAJOR$MINOR$PATCHFTP_DIR=/home/ftp/pubTEMP_FILE=$TAR_DIRECTORY/tempDIST_NAME=cooledit-$VERSIONDIST_DIRECTORY=/home/current/cooledit-dist/$DIST_NAMEOLD_DIST_NAME=cooledit-$OLD_VERSIONOLD_DIST_DIRECTORY=/home/current/cooledit-dist/$OLD_DIST_NAMESRC_DIRECTORY=/home/current/cooledit-srcecho Now creating distribution version $VERSION# create directoriesrm -rf $DIST_DIRECTORYcd $OLD_DIST_DIRECTORY/make distclean 2>&1 1>/dev/nullmkdir $DIST_DIRECTORYmkdir $DIST_DIRECTORY/bitmapmkdir $DIST_DIRECTORY/cursormkdir $DIST_DIRECTORY/editormkdir $DIST_DIRECTORY/editor/swigmkdir $DIST_DIRECTORY/libmkdir $DIST_DIRECTORY/iconmkdir $DIST_DIRECTORY/intlmkdir $DIST_DIRECTORY/manmkdir $DIST_DIRECTORY/pixmapmkdir $DIST_DIRECTORY/pomkdir $DIST_DIRECTORY/rxvtmkdir $DIST_DIRECTORY/widgetmkdir $DIST_DIRECTORY/syntaxfind $DIST_DIRECTORY -type d | xargs chmod 0777chmod 0777 $DIST_DIRECTORYTODAY=`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/gDCMD=s/r_DATE_r/$TODAY/gTCMD=s/r_SDATE_r/$STODAY/g# create README filecat $SRC_DIRECTORY/readme | sed $SCMD | sed "$DCMD" \> $TEMP_FILEgrep -h '\.SH ' $SRC_DIRECTORY/man/cooledit.1 | sed 's/\.SH//g' | grep -h -v -n '@@@@' >> $TEMP_FILEecho -e '\n\n' >> $TEMP_FILEcat $SRC_DIRECTORY/man/cooledit.1 | sed $SCMD | sed "$DCMD" | \nroff -Tascii -mandoc - | ul -t unknown >> $TEMP_FILEcp $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 directoryTOP_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 makefilecp $SRC_DIRECTORY/Makefile.am $DIST_DIRECTORY/Makefile.amcp $SRC_DIRECTORY/editor/Makefile.am $DIST_DIRECTORY/editor/Makefile.amcp $SRC_DIRECTORY/editor/swig/Makefile $DIST_DIRECTORY/editor/swig/Makefilecp $SRC_DIRECTORY/lib/Makefile.am $DIST_DIRECTORY/lib/Makefile.amcp $SRC_DIRECTORY/icon/Makefile.am $DIST_DIRECTORY/icon/Makefile.amcp $SRC_DIRECTORY/man/Makefile.am $DIST_DIRECTORY/man/Makefile.amcp $SRC_DIRECTORY/rxvt/Makefile.am $DIST_DIRECTORY/rxvt/Makefile.amcp $SRC_DIRECTORY/widget/Makefile.am $DIST_DIRECTORY/widget/Makefile.am# cp $SRC_DIRECTORY/man/syntax $DIST_DIRECTORY/man/syntax# set version numberfor 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 sourcescp $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-shcp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/icon/install-shcp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/man/install-shcp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/widget/install-shcp $SRC_DIRECTORY/install-sh $DIST_DIRECTORY/rxvt/install-shcp $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/Makefilecp $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/ ;donePO="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/ ;donecp $SRC_DIRECTORY/po/*.po $DIST_DIRECTORY/po/ ;cp $SRC_DIRECTORY/po/*.gmo $DIST_DIRECTORY/po/ ;# create Makefiles, the configure script and the headerscd $DIST_DIRECTORY/aclocalautomake --gnuautoconfautoheader# force `use included getttext':cp configure configure.oldcat configure.old | sed -e 's/nls_cv_force_use_gnu_gettext=no/nls_cv_force_use_gnu_gettext=yes/g' > configurerm -f configure.old# edit out '&& $(AUTOMAKE)' and the likeMAKEFILE_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 permissionschmod -R 0666 $DIST_DIRECTORYchown -R root:root $DIST_DIRECTORYEXECUTABLES="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_DIRECTORYcd ..find ./$DIST_NAME -type d | xargs chmod a+xtar -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_FILElet SIZE=`cat $TEMP_FILE`let SIZE=$SIZE/1024cat $DIST_DIRECTORY/cooledit.lsm \| sed "s/[0-9][0-9][0-9]*kB\ cooledit\-/${SIZE}kB\ cooledit\-/g" \> $TEMP_FILEcp $TEMP_FILE ./cooledit.lsmcp $TEMP_FILE $DIST_DIRECTORY/cooledit.lsmrm $TAR_DIRECTORY/cooledit-$VERSION.tar.gz# pack up the distributioncd $DIST_DIRECTORYcd ..tar -czf $TAR_DIRECTORY/cooledit-$VERSION.tar.gz ./$DIST_NAMEcp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz /home/ftp/pub/cooledit/#cp $TAR_DIRECTORY/cooledit-$VERSION.tar.gz $TAR_DIRECTORY/coole$SVERSION.tgzcp $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_DIRECTORYdiff -u --recursive --new-file ./$OLD_DIST_NAME ./$DIST_NAME \| grep -v 'Only in \.\/cooledit\-' \> ./patch-$OLD_VERSION-$VERSIONgrep 'No newline at end of file' $TAR_DIRECTORY/patch-$OLD_VERSION-$VERSIONrm -f ./patch-$OLD_VERSION-$VERSION.gz ./patch-$OLD_VERSION-$VERSION.bz2bzip2 ./patch-$OLD_VERSION-$VERSIONdouuencode ./patch-$OLD_VERSION-$VERSION.bz2 ./patch$PATCH.uuecho $PATCH > $TAR_DIRECTORY/patchecho $MINOR > $TAR_DIRECTORY/minorecho $MAJOR > $TAR_DIRECTORY/majorrm -f $TAR_DIRECTORY/cooledit-latestln -s $DIST_DIRECTORY $TAR_DIRECTORY/cooledit-latestrm $TEMP_FILEcp $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 0echo "converting to deb, sl, tgz"rm -Rf $TAR_DIRECTORY/packages/$VERSION >& /dev/nullmkdir -p $TAR_DIRECTORY/packages/$VERSIONcp /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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -