📄 cvs.sh
字号:
fised -e "s#@MODULENAME@#$modulename#" configure.in.new | sed -e "s#@VERSION@#$VERSION#" > configure.inbotfiles=`cat configure.files | egrep "configure.in.bot"`test -n "$botfiles" && cat $botfiles >> configure.incat $admindir/configure.in.bot.end >> configure.inrm -f configure.in.new}configure_files(){admindir=NOfor i in . .. ../.. ../../..; do if test -x $i/admin; then admindir=$i/admin; break; fidonerm -f configure.filestouch configure.filesif test -f configure.in.in && head -n 2 configure.in.in | grep "^#MIN_CONFIG" > /dev/null; then echo $admindir/configure.in.min >> configure.filesfitest -f configure.in.in && echo configure.in.in >> configure.files# we collect files in the subdirs and do some sorting tricks, so subsubdirs come after subdirsif test -f inst-apps; then inst=`cat inst-apps` list="" for i in $inst; do list="$list `find $i/ -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`" doneelse list=`find . -name "configure.in.in" -o -name "configure.in.bot" -o -name "configure.in.mid" | \ sed -e "s,/configure,/aaaconfigure," | sort | sed -e "s,/aaaconfigure,/configure,"`fifor i in $list; do if test -f $i && test `dirname $i` != "." ; then echo $i >> configure.filesfi; donetest -f configure.in.mid && echo configure.in.mid >> configure.filestest -f configure.in.bot && echo configure.in.bot >> configure.files}create_subdirs(){if grep '\$(top_srcdir)/subdirs:' $makefile_am >/dev/null; then # as many modules contain rules to create subdirs without any # dependencies make won't create it unless there is no file. # so we check if that's a dummy rule or one that works rm -f subdirs.cvs.sh.$$ if test -f subdirs; then mv subdirs subdirs.cvs.sh.$$ fi strip_makefile $MAKE -f $makefile_wo top_srcdir=. ./subdirs || exit 1 if test -f subdirs.cvs.sh.$$; then if test -s subdirs; then rm subdirs.cvs.sh.$$ else mv subdirs.cvs.sh.$$ subdirs fi fielse subdirsfi}subdirs(){dirs=idirs=if test -f inst-apps; then idirs=`cat inst-apps`else idirs=`ls -1 | sort`ficompilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1`compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1`for i in $idirs; do if test -f $i/Makefile.am; then case " $compilefirst $compilelast " in *" $i "*) ;; *) dirs="$dirs $i" esac fidone: > ./_SUBDIRSfor d in $compilefirst; do echo $d >> ./_SUBDIRSdone(for d in $dirs; do list=`sed -ne "s#^COMPILE_BEFORE_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` for s in $list; do echo $s $d done list=`sed -ne "s#^COMPILE_AFTER_$d""[ ]*=[ ]*##p" $makefile_am | head -n 1` for s in $list; do echo $d $s done echo $d $ddone ) | tsort >> ./_SUBDIRSfor d in $compilelast; do echo $d >> ./_SUBDIRSdoneif test -r subdirs && cmp -s subdirs _SUBDIRS; then rm -f _SUBDIRSfitest -r _SUBDIRS && mv _SUBDIRS subdirs || true}Makefile_am(){if test -f Makefile.am.in; then compilefirst=`sed -ne 's#^COMPILE_FIRST[ ]*=[ ]*##p' $makefile_am | head -n 1` compilelast=`sed -ne 's#^COMPILE_LAST[ ]*=[ ]*##p' $makefile_am | head -n 1` idirs= dirs= if test -f inst-apps; then idirs=`cat inst-apps` else idirs=`cat subdirs` fi for i in $idirs; do case " $compilefirst $compilelast " in *" $i "*) ;; *) dirs="$dirs $i" esac done if test -n "$UNSERMAKE"; then cp Makefile.am.in Makefile.am chmod u+w Makefile.am topsubdirs= for i in $compilefirst $dirs $compilelast; do vari=`echo $i | sed -e "s,[-+],_,g"` echo "if $vari""_SUBDIR_included" >> Makefile.am echo "$vari""_SUBDIR=$i" >> Makefile.am echo "endif" >> Makefile.am topsubdirs="$topsubdirs \$($vari""_SUBDIR)" done echo "SUBDIRS=$topsubdirs" >> Makefile.am else cat Makefile.am.in | \ sed -e 's,^\s*\(COMPILE_BEFORE.*\),# \1,' | \ sed -e 's,^\s*\(COMPILE_AFTER.*\),# \1,' > Makefile.am echo "SUBDIRS="'$(TOPSUBDIRS)' >> Makefile.am fifi}cvs_clean(){if test -d CVS; then :; else echo "You don't have a toplevel CVS directory." echo "You most certainly didn't use cvs to get these sources." echo "But this function depends on cvs's information." exit 1fiperl $admindir/cvs-clean.pl}package_merge(){catalogs=$POFILESfor cat in $catalogs; do msgmerge -o $cat.new $cat $PACKAGE.pot if test -s $cat.new; then grep -v "\"POT-Creation" $cat.new > $cat.new.2 grep -v "\"POT-Creation" $cat >> $cat.new.1 if diff $cat.new.1 $cat.new.2; then rm $cat.new else mv $cat.new $cat fi rm -f $cat.new.1 $cat.new.2 fidone}package_messages(){rm -rf po.backupmkdir po.backupfor i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i cp po/$i po.backup/backup_$i touch -r po/$i po.backup/backup_$i rm po/$idonepodir=${podir:-$PWD/po}files=`find . -name Makefile.am | xargs egrep -l '^messages:' `dirs=`for i in $files; do echo \`dirname $i\`; done`tmpname="$PWD/messages.log"if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fiif test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fiexport EXTRACTRC PREPARETIPSfor subdir in $dirs; do test -z "$VERBOSE" || echo "Making messages in $subdir" (cd $subdir if test -n "`grep -e '^messages:.*rc.cpp' Makefile.am`"; then $EXTRACTRC *.rc *.ui > rc.cpp else candidates=`ls -1 *.rc *.ui 2>/dev/null` if test -n "$candidates"; then echo "$subdir has *.rc or *.ui files, but not correct messages line" fi fi if test -n "`grep -r KAboutData *.c* *.C* 2>/dev/null`"; then echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp else echo " " > _translatorinfo.cpp fi perl -e '$mes=0; while (<STDIN>) { next if (/^(if|else|endif)\s/); if (/^messages:/) { $mes=1; print $_; next; } if ($mes) { if (/$\\(XGETTEXT\)/ && / -o/) { s/ -o \$\(podir\)/ _translatorinfo.cpp -o \$\(podir\)/ } print $_; } else { print $_; } }' < Makefile.am | egrep -v '^include ' > _transMakefile $MAKE -s -f _transMakefile podir=$podir EXTRACTRC="$EXTRACTRC" PREPARETIPS="$PREPARETIPS" \ XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x ${includedir:-${KDEDIR:-/usr/local/kde}/include}/kde.pot" \ messages exit_code=$? if test "$exit_code" != 0; then echo "make exit code: $exit_code" fi ) 2>&1 | grep -v '^make\[1\]' > $tmpname test -s $tmpname && { echo $subdir ; cat "$tmpname"; } test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp rm -f $subdir/_translatorinfo.cpp rm -f $subdir/_transMakefiledonerm -f $tmpnamefor i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do test -f po/$i || echo "disappeared: $i"donefor i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do msgmerge -q -o po/$i po/$i po/$i egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot if test -f po.backup/$i && test -n "`diff temp.pot po.backup/$i`"; then echo "will update $i" msgmerge -q po.backup/backup_$i po/$i > temp.pot mv temp.pot po/$i else if test -f po.backup/backup_$i; then test -z "$VERBOSE" || echo "I'm restoring $i" mv po.backup/backup_$i po/$i rm po.backup/$i else echo "will add $i" fi fidonerm -f temp.potrm -rf po.backup}unset CDPATHadmindir=`echo "$0" | sed 's%[\\/][^\\/][^\\/]*$%%'`test "x$admindir" = "x$0" && admindir=.test "x$MAKE" = x && MAKE=makemakefile_am=Makefile.ammakefile_wo=Makefile.amif test -f Makefile.am.in; then makefile_am=Makefile.am.in makefile_wo=Makefile.am.in.wofi# Suck in the AUTOCONF detection code. $admindir/detect-autoconf.sh###### Main###arg=`echo $1 | tr '\-.' __`case $arg in cvs | dist | subdir_dist | configure_in | configure_files | subdirs | \ cvs_clean | package_merge | package_messages | Makefile_am ) $arg ;; configure ) call_and_fix_autoconf ;; * ) echo "Usage: cvs.sh <target>" echo "Target can be one of:" echo " cvs cvs-clean dist" echo " configure.in configure.files" echo " package-merge package-messages" echo "" echo "Usage: anything but $1" exit 1 ;;esacif test -f Makefile.am.in.wo; then rm Makefile.am.in.wofiexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -