X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src-release.sh;h=d24a63c99b0aef6e0ec45c8972797349a7c981de;hb=refs%2Fheads%2Fgdb-11-branch-vfork-fixes-2022-01-17;hp=bb5089505a837c942d6ebdfe93f572631dc8e923;hpb=2536ee9d03cb7c4af97bf4b29429bef3c30652c2;p=deliverable%2Fbinutils-gdb.git diff --git a/src-release.sh b/src-release.sh index bb5089505a..d24a63c99b 100755 --- a/src-release.sh +++ b/src-release.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Copyright (C) 1990-2014 Free Software Foundation +# Copyright (C) 1990-2020 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,8 +24,9 @@ set -e BZIPPROG=bzip2 GZIPPROG=gzip +LZIPPROG=lzip XZPROG=xz -MD5PROG=md5sum +SHA256PROG=sha256sum MAKE=make CC=gcc CXX=g++ @@ -36,16 +37,14 @@ MAKEINFOFLAGS=--split-size=5000000 # # Support for building net releases -# Files in devo used in any net release. -DEVO_SUPPORT="README Makefile.in configure configure.ac \ - config.guess config.sub config move-if-change \ - COPYING COPYING.LIB install-sh config-ml.in symlink-tree \ - mkinstalldirs ltmain.sh missing ylwrap \ - libtool.m4 ltsugar.m4 ltversion.m4 ltoptions.m4 \ - Makefile.def Makefile.tpl src-release config.rpath \ - ChangeLog MAINTAINERS README-maintainer-mode \ - lt~obsolete.m4 ltgcc.m4 depcomp mkdep compile \ - COPYING3 COPYING3.LIB" +# Files in root used in any net release. +DEVO_SUPPORT="ar-lib ChangeLog compile config config-ml.in config.guess \ + config.rpath config.sub configure configure.ac COPYING COPYING.LIB \ + COPYING3 COPYING3.LIB depcomp install-sh libtool.m4 ltgcc.m4 \ + ltmain.sh ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 \ + MAINTAINERS Makefile.def Makefile.in Makefile.tpl missing mkdep \ + mkinstalldirs move-if-change README README-maintainer-mode \ + src-release.sh symlink-tree test-driver ylwrap" # Files in devo/etc used in any net release. ETC_SUPPORT="Makefile.in configure configure.in standards.texi \ @@ -60,10 +59,14 @@ getver() bfd/configure --version | sed -n -e '1s,.* ,,p' elif test -f $tool/common/create-version.sh; then $tool/common/create-version.sh $tool 'dummy-host' 'dummy-target' VER.tmp - cat VER.tmp | grep 'version\[\]' | sed 's/.*"\([^"]*\)".*/\1/' | sed 's/-cvs$//' + cat VER.tmp | grep 'version\[\]' | sed 's/.*"\([^"]*\)".*/\1/' | sed 's/-git$//' + rm -f VER.tmp + elif test $tool = "gdb"; then + ./gdbsupport/create-version.sh $tool 'dummy-host' 'dummy-target' VER.tmp + cat VER.tmp | grep 'version\[\]' | sed 's/.*"\([^"]*\)".*/\1/' | sed 's/-git$//' rm -f VER.tmp elif test -f $tool/version.in; then - head -1 $tool/version.in + head -n 1 $tool/version.in else echo VERSION fi @@ -76,14 +79,28 @@ do_proto_toplev() ver=$2 tool=$3 support_files=$4 + + echo "==> Cleaning sources." + find \( -name "*.orig" -o -name "*.rej" -o -name "*~" -o -name ".#*" -o -name "*~$bkpat" \) -exec rm {} \; + echo "==> Making $package-$ver/" # Take out texinfo from a few places. sed -e '/^all\.normal: /s/\all-texinfo //' \ -e '/^ install-texinfo /d' \ tmp mv -f tmp Makefile.in - # - ./configure i686-pc-linux-gnu + # configure. --enable-gold is needed to ensure .c/.h from .y are + # built in the gold dir. The disables speed the build a little. + enables= + disables= + for dir in binutils gas gdb gold gprof ld libctf libdecnumber readline sim; do + case " $tool $support_files " in + *" $dir "*) enables="$enables --enable-$dir" ;; + *) disables="$disables --disable-$dir" ;; + esac + done + echo "==> configure --target=i386-pc-linux-gnu $disables $enables" + ./configure --target=i386-pc-linux-gnu $disables $enables $MAKE configure-host configure-target \ ALL_GCC="" ALL_GCC_C="" ALL_GCC_CXX="" \ CC_FOR_TARGET="$CC" CXX_FOR_TARGET="$CXX" @@ -109,57 +126,55 @@ do_proto_toplev() fi else if (echo x$d | grep / >/dev/null); then - mkdir -p proto-toplev/`dirname $d` - x=`dirname $d` - ln -s ../`echo $x/ | sed -e 's,[^/]*/,../,g'`$d proto-toplev/$d + mkdir -p proto-toplev/`dirname $d` + x=`dirname $d` + ln -s ../`echo $x/ | sed -e 's,[^/]*/,../,g'`$d proto-toplev/$d else - ln -s ../$d proto-toplev/$d + ln -s ../$d proto-toplev/$d fi - fi - done - (cd etc; $MAKE MAKEINFOFLAGS="$MAKEINFOFLAGS" info) - $MAKE distclean - mkdir proto-toplev/etc - (cd proto-toplev/etc; - for i in $ETC_SUPPORT; do - ln -s ../../etc/$i . - done) - # - # Take out texinfo from configurable dirs - rm proto-toplev/configure.ac - sed -e '/^host_tools=/s/texinfo //' \ - proto-toplev/configure.ac - # - mkdir proto-toplev/texinfo - ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/ - if test -r texinfo/util/tex3patch ; then - mkdir proto-toplev/texinfo/util && \ - ln -s ../../../texinfo/util/tex3patch proto-toplev/texinfo/util - else - true fi - chmod -R og=u . || chmod og=u `find . -print` - # - # Create .gmo files from .po files. - for f in `find . -name '*.po' -type f -print`; do - msgfmt -o `echo $f | sed -e 's/\.po$/.gmo/'` $f - done - # - rm -f $package-$ver - ln -s proto-toplev $package-$ver + done + (cd etc; $MAKE MAKEINFOFLAGS="$MAKEINFOFLAGS" info) + $MAKE distclean + mkdir proto-toplev/etc + (cd proto-toplev/etc; + for i in $ETC_SUPPORT; do + ln -s ../../etc/$i . + done) + # + # Take out texinfo from configurable dirs + rm proto-toplev/configure.ac + sed -e '/^host_tools=/s/texinfo //' \ + proto-toplev/configure.ac + # + mkdir proto-toplev/texinfo + ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/ + if test -r texinfo/util/tex3patch ; then + mkdir proto-toplev/texinfo/util && \ + ln -s ../../../texinfo/util/tex3patch proto-toplev/texinfo/util + fi + chmod -R og=u . || chmod og=u `find . -print` + # + # Create .gmo files from .po files. + for f in `find . -name '*.po' -type f -print`; do + msgfmt -o `echo $f | sed -e 's/\.po$/.gmo/'` $f + done + # + rm -f $package-$ver + ln -s proto-toplev $package-$ver } CVS_NAMES='-name CVS -o -name .cvsignore' -# Add an md5sum to the built tarball -do_md5sum() +# Add a sha256sum to the built tarball +do_sha256sum() { - echo "==> Adding md5 checksum to top-level directory" + echo "==> Adding sha256 checksum to top-level directory" (cd proto-toplev && find * -follow \( $CVS_NAMES \) -prune \ -o -type f -print \ - | xargs $MD5PROG > ../md5.new) - rm -f proto-toplev/md5.sum - mv md5.new proto-toplev/md5.sum + | xargs $SHA256PROG > ../sha256.new) + rm -f proto-toplev/sha256.sum + mv sha256.new proto-toplev/sha256.sum } # Build the release tarball @@ -194,6 +209,16 @@ do_gz() $GZIPPROG -k -v -9 $package-$ver.tar } +# Compress the output with lzip +do_lz() +{ + package=$1 + ver=$2 + echo "==> Lzipping $package-$ver.tar.lz" + rm -f $package-$ver.tar.lz + $LZIPPROG -k -v -9 $package-$ver.tar +} + # Compress the output with xz do_xz() { @@ -216,6 +241,8 @@ do_compress() do_bz2 $package $ver;; gz) do_gz $package $ver;; + lz) + do_lz $package $ver;; xz) do_xz $package $ver;; *) @@ -244,9 +271,10 @@ tar_compress() tool=$2 support_files=$3 compressors=$4 - ver=$(getver $tool) + verdir=${5:-$tool} + ver=$(getver $verdir) do_proto_toplev $package $ver $tool "$support_files" - do_md5sum + do_sha256sum do_tar $package $ver do_compress $package $ver "$compressors" } @@ -260,14 +288,14 @@ gdb_tar_compress() compressors=$4 ver=$(getver $tool) do_proto_toplev $package $ver $tool "$support_files" - do_md5sum + do_sha256sum do_djunpack $package $ver do_tar $package $ver do_compress $package $ver "$compressors" } # The FSF "binutils" release includes gprof and ld. -BINUTILS_SUPPORT_DIRS="bfd gas include libiberty opcodes ld elfcpp gold gprof intl setup.com makefile.vms cpu" +BINUTILS_SUPPORT_DIRS="bfd gas include libiberty libctf opcodes ld elfcpp gold gprof intl setup.com makefile.vms cpu zlib" binutils_release() { compressors=$1 @@ -276,7 +304,7 @@ binutils_release() tar_compress $package $tool "$BINUTILS_SUPPORT_DIRS" "$compressors" } -GAS_SUPPORT_DIRS="bfd include libiberty opcodes intl setup.com makefile.vms" +GAS_SUPPORT_DIRS="bfd include libiberty opcodes intl setup.com makefile.vms zlib" gas_release() { compressors=$1 @@ -285,7 +313,7 @@ gas_release() tar_compress $package $tool "$GAS_SUPPORT_DIRS" "$compressors" } -GDB_SUPPORT_DIRS="bfd include libiberty opcodes readline sim intl libdecnumber cpu" +GDB_SUPPORT_DIRS="bfd include libiberty libctf opcodes readline sim intl libdecnumber cpu zlib contrib gnulib gdbsupport gdbserver" gdb_release() { compressors=$1 @@ -295,13 +323,13 @@ gdb_release() } # Corresponding to the CVS "sim" module. -SIM_SUPPORT_DIRS="bfd opcodes libiberty include intl gdb/version.in makefile.vms" +SIM_SUPPORT_DIRS="bfd opcodes libiberty include intl gdb/version.in gdb/common/create-version.sh makefile.vms zlib" sim_release() { compressors=$1 package=sim tool=sim - tar_compress $package $tool "$SIM_SUPPORT_DIRS" "$compressors" + tar_compress $package $tool "$SIM_SUPPORT_DIRS" "$compressors" gdb } usage() @@ -310,6 +338,7 @@ usage() echo "options:" echo " -b: Compress with bzip2" echo " -g: Compress with gzip" + echo " -l: Compress with lzip" echo " -x: Compress with xz" exit 1 } @@ -334,12 +363,14 @@ build_release() compressors="" -while getopts ":gbx" opt; do +while getopts ":bglx" opt; do case $opt in b) compressors="$compressors bz2";; g) compressors="$compressors gz";; + l) + compressors="$compressors lz";; x) compressors="$compressors xz";; \?)