slackware-current/source/d/gcc/fetch-from-svn-and-prep-tarball.sh
Patrick J Volkerding d42cbc1006 Thu May 16 04:55:49 UTC 2019
a/kernel-firmware-20190514_711d329-noarch-1.txz:  Upgraded.
a/kernel-generic-4.19.43-x86_64-1.txz:  Upgraded.
a/kernel-huge-4.19.43-x86_64-1.txz:  Upgraded.
a/kernel-modules-4.19.43-x86_64-1.txz:  Upgraded.
ap/hplip-3.19.5-x86_64-1.txz:  Upgraded.
ap/mariadb-10.3.15-x86_64-1.txz:  Upgraded.
  This update fixes denial-of-service security issues.
  For more information, see:
    https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-2614
    https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-2627
    https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-2628
  (* Security fix *)
d/cmake-3.14.4-x86_64-1.txz:  Upgraded.
d/gcc-9.1.0-x86_64-5.txz:  Rebuilt.
  Rebuilt with --enable-clocale=gnu. This is recommended by Linux From
  Scratch, and while it doesn't seem to fix the issue with kernel compiles
  failing with some locales, it probably doesn't hurt.
d/gcc-brig-9.1.0-x86_64-5.txz:  Rebuilt.
d/gcc-g++-9.1.0-x86_64-5.txz:  Rebuilt.
  Applied patch: PR libstdc++/90397 fix std::variant friend declaration
  This fixes problems compiling programs that use std::variant with clang.
  Thanks to orbea.
d/gcc-gdc-9.1.0-x86_64-5.txz:  Rebuilt.
d/gcc-gfortran-9.1.0-x86_64-5.txz:  Rebuilt.
d/gcc-gnat-9.1.0-x86_64-5.txz:  Rebuilt.
d/gcc-go-9.1.0-x86_64-5.txz:  Rebuilt.
d/gcc-objc-9.1.0-x86_64-5.txz:  Rebuilt.
d/kernel-headers-4.19.43-x86-1.txz:  Upgraded.
d/rust-1.34.2-x86_64-1.txz:  Upgraded.
k/kernel-source-4.19.43-noarch-1.txz:  Upgraded.
l/librsvg-2.44.14-x86_64-1.txz:  Upgraded.
n/samba-4.10.3-x86_64-1.txz:  Upgraded.
  This is a security release in order to address the following defect:
  The checksum validation in the S4U2Self handler in the embedded Heimdal KDC
  did not first confirm that the checksum was keyed, allowing replacement of
  the requested target (client) principal.
  For more information, see:
    https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16860
  (* Security fix *)
x/xterm-345-x86_64-1.txz:  Upgraded.
xap/rdesktop-1.8.5-x86_64-1.txz:  Upgraded.
  This update fixes security issues:
  Add bounds checking to protocol handling in order to fix many
  security problems when communicating with a malicious server.
  (* Security fix *)
isolinux/initrd.img:  Rebuilt.
kernels/*:  Upgraded.
usb-and-pxe-installers/usbboot.img:  Rebuilt.
2019-05-16 17:59:33 +02:00

83 lines
2.9 KiB
Bash
Executable file

#!/bin/sh
# Copyright 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# Parts of this script are based on the gcc_release script by
# Jeffrey Law, Bernd Schmidt, Mark Mitchell.
# Copyright (c) 2001-2015 Free Software Foundation.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
BRANCH=${BRANCH:-gcc-9-branch}
rm -rf tmp-fetch
mkdir tmp-fetch
cd tmp-fetch
# Not sure why, but this emits a different revision when the fetch is done than
# what's returned by "svn log -r COMMITTED". We'll trust the latter.
svn co svn://gcc.gnu.org/svn/gcc/branches/${BRANCH} gcc
cd gcc
echo "Generating LAST_UPDATED..."
svn log -r COMMITTED > LAST_UPDATED.raw
REVISION="$(cat LAST_UPDATED.raw | head -n 2 | tail -n 1 | cut -f 1 -d ' ' | cut -f 2 -d r)"
DATE="$(date -d "$(cat LAST_UPDATED.raw | head -n 2 | tail -n 1 | cut -f 3 -d '|' | cut -f 1 -d '(')" "+%Y%m%d")"
echo "Obtained from SVN: branches/${BRANCH} revision ${REVISION}" > LAST_UPDATED
cat LAST_UPDATED.raw >> LAST_UPDATED
rm LAST_UPDATED.raw
# Remove the .svn data (not packaged):
rm -r .svn
# Get the version number:
VERSION=$(cat gcc/BASE-VER)
# Rename the directory:
cd ..
GCCDIR="gcc-${VERSION}_${DATE}_r${REVISION}"
mv gcc $GCCDIR
cd $GCCDIR
# Now we need to generate some documentation files that would normally be
# created during the GCC release process:
echo "Generating INSTALL/ documentation..."
SOURCEDIR=gcc/doc \
DESTDIR=INSTALL \
gcc/doc/install.texi2html 1> /dev/null 2> /dev/null
echo "Generating NEWS..."
contrib/gennews > NEWS
# Create a "MD5SUMS" file to use for checking the validity of the release.
echo "Generating MD5SUMS..."
echo \
"# This file contains the MD5 checksums of the files in the
# "${GCCDIR}".tar.lz tarball.
#
# Besides verifying that all files in the tarball were correctly expanded,
# it also can be used to determine if any files have changed since the
# tarball was expanded or to verify that a patchfile was correctly applied.
#
# Suggested usage:
# md5sum -c MD5SUMS | grep -v \"OK$\"
#" > MD5SUMS
find . -type f |
sed -e 's:^\./::' -e '/MD5SUMS/d' |
sort |
xargs md5sum >>MD5SUMS
cd ..
# Tar it up:
echo "Creating ${GCCDIR}.tar..."
tar cf ${GCCDIR}.tar ${GCCDIR}
# Compress with (p)lzip:
echo "Compressing ${GCCDIR}.tar.lz..."
plzip -9 ${GCCDIR}.tar
# Move the new archive up a directory:
mv ${GCCDIR}.tar.lz ..
# Move up a directory and then delete the cruft:
cd ..
rm -r tmp-fetch
echo "Done."