- discover_trees.sh: Set compile-command and indentation instructions for Emacs - discover_trees.sh: shellcheck: Do not use -o (SC2166) - discover_trees.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268) - discover_trees.sh: shellcheck: Double-quote variable references (SC2086) - generate_source_tarball.sh: Add authorship - icedtea_sync.sh: Set compile-command and indentation instructions for Emacs - icedtea_sync.sh: shellcheck: Double-quote variable references (SC2086) - icedtea_sync.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268) - openjdk_news.sh: Set compile-command and indentation instructions for Emacs - openjdk_news.sh: shellcheck: Double-quote variable references (SC2086) - openjdk_news.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268) - openjdk_news.sh: shellcheck: Remove deprecated egrep usage (SC2196) - Related: RHEL-46639
		
			
				
	
	
		
			199 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Copyright (C) 2024 Red Hat, Inc.
 | |
| # Written by Andrew John Hughes <gnu.andrew@redhat.com>.
 | |
| #
 | |
| # This program is free software: you can redistribute it and/or modify
 | |
| # it under the terms of the GNU Affero General Public License as
 | |
| # published by the Free Software Foundation, either version 3 of the
 | |
| # License, 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 Affero General Public License for more details.
 | |
| #
 | |
| # You should have received a copy of the GNU Affero General Public License
 | |
| # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| ICEDTEA_USE_VCS=true
 | |
| 
 | |
| ICEDTEA_VERSION=3.15.0
 | |
| ICEDTEA_URL=https://icedtea.classpath.org/download/source
 | |
| ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
 | |
| 
 | |
| ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
 | |
| set -e
 | |
| 
 | |
| RPM_DIR=${PWD}
 | |
| if [ ! -f "${RPM_DIR}/jconsole.desktop.in" ] ; then
 | |
|     echo "Not in RPM source tree.";
 | |
|     exit 1;
 | |
| fi
 | |
| 
 | |
| if test "${TMPDIR}" = ""; then
 | |
|     TMPDIR=/tmp;
 | |
| fi
 | |
| WORKDIR=${TMPDIR}/it.sync
 | |
| 
 | |
| echo "Using working directory ${WORKDIR}"
 | |
| mkdir "${WORKDIR}"
 | |
| pushd "${WORKDIR}"
 | |
| 
 | |
| if test "${WGET}" = ""; then
 | |
|     WGET=$(which wget);
 | |
|     if test "${WGET}" = ""; then
 | |
| 	echo "wget not found";
 | |
| 	exit 1;
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| if test "${TAR}" = ""; then
 | |
|     TAR=$(which tar)
 | |
|     if test "${TAR}" = ""; then
 | |
| 	echo "tar not found";
 | |
| 	exit 2;
 | |
|     fi
 | |
| fi
 | |
| 
 | |
| echo "Dependencies:";
 | |
| echo -e "\tWGET: ${WGET}";
 | |
| echo -e "\tTAR: ${TAR}\n";
 | |
| 
 | |
| if test "${ICEDTEA_USE_VCS}" = "true"; then
 | |
|     echo "Mode: Using VCS";
 | |
| 
 | |
|     if test "${GREP}" = ""; then
 | |
| 	GREP=$(which grep);
 | |
| 	if test "${GREP}" = ""; then
 | |
| 	    echo "grep not found";
 | |
| 	    exit 3;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     if test "${CUT}" = ""; then
 | |
| 	CUT=$(which cut);
 | |
| 	if test "${CUT}" = ""; then
 | |
| 	    echo "cut not found";
 | |
| 	    exit 4;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     if test "${TR}" = ""; then
 | |
| 	TR=$(which tr);
 | |
| 	if test "${TR}" = ""; then
 | |
| 	    echo "tr not found";
 | |
| 	    exit 5;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     if test "${HG}" = ""; then
 | |
| 	HG=$(which hg);
 | |
| 	if test "${HG}" = ""; then
 | |
| 	    echo "hg not found";
 | |
| 	    exit 6;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     echo "Dependencies:";
 | |
|     echo -e "\tGREP: ${GREP}";
 | |
|     echo -e "\tCUT: ${CUT}";
 | |
|     echo -e "\tTR: ${TR}";
 | |
|     echo -e "\tHG: ${HG}";
 | |
| 
 | |
|     echo "Checking out repository from VCS...";
 | |
|     ${HG} clone ${ICEDTEA_HG_URL} icedtea
 | |
| 
 | |
|     echo "Obtaining version from configure.ac...";
 | |
|     ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
 | |
|     echo "Root version from configure: ${ROOT_VER}";
 | |
| 
 | |
|     VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
 | |
|     echo "VCS revision: ${VCS_REV}";
 | |
| 
 | |
|     ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
 | |
|     echo "Creating icedtea-${ICEDTEA_VERSION}";
 | |
|     mkdir "icedtea-${ICEDTEA_VERSION}"
 | |
|     echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
 | |
|     # Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
 | |
|     #cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
 | |
|     cp -a "${RPM_DIR}/jconsole.desktop.in" "icedtea-${ICEDTEA_VERSION}"
 | |
|     cp -a icedtea/tapset "icedtea-${ICEDTEA_VERSION}"
 | |
| 
 | |
|     rm -rf icedtea
 | |
| else
 | |
|     echo "Mode: Using tarball";
 | |
| 
 | |
|     if test "${ICEDTEA_VERSION}" = ""; then
 | |
| 	echo "No IcedTea version specified for tarball download.";
 | |
| 	exit 3;
 | |
|     fi
 | |
| 
 | |
|     if test "${CHECKSUM}" = ""; then
 | |
| 	CHECKSUM=$(which sha256sum)
 | |
| 	if test "${CHECKSUM}" = ""; then
 | |
| 	    echo "sha256sum not found";
 | |
| 	    exit 4;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     if test "${PGP}" = ""; then
 | |
| 	PGP=$(which gpg)
 | |
| 	if test "${PGP}" = ""; then
 | |
| 	    echo "gpg not found";
 | |
| 	    exit 5;
 | |
| 	fi
 | |
|     fi
 | |
| 
 | |
|     echo "Dependencies:";
 | |
|     echo -e "\tCHECKSUM: ${CHECKSUM}";
 | |
|     echo -e "\tPGP: ${PGP}\n";
 | |
| 
 | |
|     echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
 | |
|     if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
 | |
| 	echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
 | |
| 	exit 6;
 | |
|     fi
 | |
| 
 | |
|     echo "Downloading IcedTea release tarball...";
 | |
|     ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
 | |
|     echo "Downloading IcedTea tarball signature...";
 | |
|     ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
 | |
|     echo "Downloading IcedTea tarball checksums...";
 | |
|     ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
 | |
| 
 | |
|     echo "Verifying checksums...";
 | |
|     ${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
 | |
| 
 | |
|     echo "Checking signature...";
 | |
|     ${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
 | |
| 
 | |
|     echo "Extracting files...";
 | |
|     ${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
 | |
|        icedtea-${ICEDTEA_VERSION}/tapset \
 | |
|        icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
 | |
| 
 | |
|     rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
 | |
|     rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
 | |
|     rm -vf icedtea-${ICEDTEA_VERSION}.sha256
 | |
| fi
 | |
| 
 | |
| echo "Replacing desktop files...";
 | |
| mv -v "icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in" "${RPM_DIR}"
 | |
| 
 | |
| echo "Creating new tapset tarball...";
 | |
| mv -v "icedtea-${ICEDTEA_VERSION}" openjdk
 | |
| ${TAR} cJf "${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz" openjdk
 | |
| 
 | |
| rm -rvf openjdk
 | |
| 
 | |
| popd
 | |
| rm -rf "${WORKDIR}"
 | |
| 
 | |
| # Local Variables:
 | |
| # compile-command: "shellcheck icedtea_sync.sh"
 | |
| # fill-column: 80
 | |
| # indent-tabs-mode: nil
 | |
| # sh-basic-offset: 4
 | |
| # End:
 |