#! /bin/sh -v # Copyright (c) 2002-2020, Dirk Krause. All rights reserved. # SPDX-License-Identifier: BSD-3-Clause # Stage: Make distribution # Purpose: Create distribution tarballs echo '>>>' `date '+%Y-%m-%d %H:%M:%S'` scripts/build-distribution.sh umask 0 D1=`date` echo $D1 VERSION=`cat version.txt | sed -e 's/\-pre//g'` SRCDIR=/home/krause/work/dklib-4 DOWNLOADS=/home/krause/Downloads # Ensure the Downloads directory is available [ -d $DOWNLOADS ] || mkdir -p $DOWNLOADS # Remove artifacts A="dktools-${VERSION} dktools-doc-${VERSION} dktools-devdoc-${VERSION}" A="$A dktools-full-${VERSION} dktools-sf-doc-${VERSION}" for i in $A do echo Removing old files for $i if [ -d ${DOWNLOADS}/$i ] then echo "rm -fr ${DOWNLOADS}/$i" rm -fr ${DOWNLOADS}/$i fi if [ -f ${DOWNLOADS}/${i}.tar ] then echo "rm -f ${DOWNLOADS}/${i}.tar" rm -f ${DOWNLOADS}/${i}.tar fi if [ -f ${DOWNLOADS}/${i}.tar.gz ] then echo "rm -f ${DOWNLOADS}/${i}.tar.gz" rm -f ${DOWNLOADS}/${i}.tar.gz fi if [ -f /home/krause/SW-DEV/archives/${i}.tar.gz ] then echo "rm -f /home/krause/SW-DEV/archives/${i}.tar.gz" rm -f /home/krause/SW-DEV/archives/${i}.tar.gz fi # if [ -f /home/krause/rpmbuild/SOURCES/${i}.tar.gz ] # then # echo "rm -f /home/krause/rpmbuild/SOURCES/${i}.tar.gz" # rm -f /home/krause/rpmbuild/SOURCES/${i}.tar.gz # fi done # dktools-${VERSION} mkdir -p ${DOWNLOADS}/dktools-${VERSION} cd ${DOWNLOADS}/dktools-${VERSION} echo Copying files to ${DOWNLOADS}/dktools-${VERSION} (cd ${SRCDIR} ; tar cf - --exclude .git --exclude doc/doxygen --exclude dk4wx-v1 --exclude 'win32/2019*' *) | tar xf - rm -fr ${DOWNLOADS}/dktools-${VERSION}/doc rm -fr ${DOWNLOADS}/dktools-${VERSION}/devdoc rm -fr ${DOWNLOADS}/dktools-${VERSION}/debian/*.ex rm -fr ${DOWNLOADS}/dktools-${VERSION}/debian/*.EX [ ! -f configure.out ] || rm -f configure.out [ ! -f man-help-src.tar.gz ] || rm -fr man-help-src.tar.gz [ ! -f man-help-src.tar ] || rm -fr man-help-src.tar RDFIND=`which rdfind` if [ "X$RDFIND" != "X" ] then $RDFIND -makehardlinks true help-src help-html fi tar cf man-help-src.tar man-src help-src help-html gzip -9 man-help-src.tar [ ! -f test-src.tar.gz ] || rm -fr test-src.tar.gz [ ! -f test-src.tar ] || rm -fr test-src.tar tar cf test-src.tar test-*.ctr test-*.c gzip -9 test-src.tar rm -fr "${DOWNLOADS}/dktools-${VERSION}/help-src" rm -fr "${DOWNLOADS}/dktools-${VERSION}/help-html" rm -fr "${DOWNLOADS}/dktools-${VERSION}/man-src" rm -fr ${DOWNLOADS}/dktools-${VERSION}/test-*.ctr rm -fr ${DOWNLOADS}/dktools-${VERSION}/test-*.c find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -type f -a -perm /g=x -exec chmod o+x {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; find . -name 'install-sh' -exec chmod ugo+x {} \; find . -name 'configure' -exec chmod ugo+x {} \; ln gui-img/icons/*.ico . # dktools-doc-${VERSION} mkdir -p ${DOWNLOADS}/dktools-doc-${VERSION} cd ${DOWNLOADS}/dktools-doc-${VERSION} echo Copying files to ${DOWNLOADS}/dktools-doc-${VERSION} (cd ${SRCDIR}/doc ; tar cf - *) | tar xf - cp ${SRCDIR}/version.txt . rm -fr ${DOWNLOADS}/dktools-doc-${VERSION}/doxygen rm -fr ${DOWNLOADS}/dktools-doc-${VERSION}/html/devdoc # rm -fr ${DOWNLOADS}/dktools-doc-${VERSION}/src find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; # dktools-devdoc-${VERSION} mkdir -p ${DOWNLOADS}/dktools-devdoc-${VERSION} cd ${DOWNLOADS}/dktools-devdoc-${VERSION} echo Copying files to ${DOWNLOADS}/dktools-devdoc-${VERSION} (cd ${SRCDIR}/devdoc ; tar cf - *) | tar xf - (cd ${SRCDIR}/doc/doxygen; tar cf - html) | tar xf - cp ${SRCDIR}/version.txt . find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; # dktools-full-${VERSION} mkdir -p ${DOWNLOADS}/dktools-full-${VERSION} cd ${DOWNLOADS}/dktools-full-${VERSION} echo Copying files to ${DOWNLOADS}/dktools-full-${VERSION} (cd ${SRCDIR} ; tar cf - --exclude .git *) | tar xf - find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; # dktools-sf-doc-${VERSION} mkdir -p ${DOWNLOADS}/dktools-sf-doc-${VERSION} cd ${SRCDIR}/doc/src touch index.prj make $DKMAKEOPTIONS webinstall cd ${DOWNLOADS}/dktools-sf-doc-${VERSION} echo Copying files to ${DOWNLOADS}/dktools-sf-doc-${VERSION} (cd ${SRCDIR}/doc ; tar cf - *) | tar xf - cp ${SRCDIR}/version.txt . [ -d html ] || mkdir -p html mkdir html/devdoc cd html/devdoc (cd ${SRCDIR}/doc/doxygen/html ; tar cf - *) | tar xf - cd ../.. find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; find . -type f -exec chmod go-w {} \; rm -fr ${DOWNLOADS}/dktools-doc-${VERSION}/doxygen # rm -fr ${DOWNLOADS}/dktools-doc-${VERSION}/src cd ${SRCDIR}/doc/src touch index.prj make $DKMAKEOPTIONS install cd .. find . -type d -exec chmod 755 {} \; find . -type f -exec chmod ugo+r {} \; find . -name '*.sh' -exec chmod ugo+x {} \; find . -name '*.pl' -exec chmod ugo+x {} \; # Copy files echo "cd ${DOWNLOADS}" cd ${DOWNLOADS} for i in $A do echo touch files in ${i} find ${i} -type f -exec touch {} \; echo "tar cf ${i}.tar ${i}" tar cf ${i}.tar ${i} echo "gzip -9 ${i}.tar" gzip -9 ${i}.tar echo "cp ${i}.tar.gz ~/SW-DEV/archives" cp ${i}.tar.gz ~/SW-DEV/archives if [ -d ~/rpmbuild/SOURCES ] then echo "I: cp ${i}.tar.gz ~/rpmbuild/SOURCES" cp ${i}.tar.gz ~/rpmbuild/SOURCES fi done # For Arch Linux echo 'I: Entering section for Arch Linux' MDSUM=`md5sum dktools-${VERSION}.tar.gz | awk '{print $1}'` echo 'I: MD5 is' $MDSUM sed -e "s/VERSNO/$VERSION/g" < dktools-${VERSION}/PKGBUILD.in > ~/SW-DEV/archives/PKGBUILD-dktools-${VERSION} echo 'I: Correcting sum in file' ~/SW-DEV/archives/PKGBUILD-dktools-${VERSION} sed -e "/^md5sums=/cmd5sums=(\"$MDSUM\")" -i ~/SW-DEV/archives/PKGBUILD-dktools-${VERSION} echo 'I: Changing permissions to' ~/SW-DEV/archives/PKGBUILD-dktools-${VERSION} chmod 644 ~/SW-DEV/archives/PKGBUILD-dktools-${VERSION} echo 'I: Leaving section for Arch Linux' if [ -d ~/rpmbuild/SPECS ] then echo "I: cp dktools-${VERSION}/*.spec ~/rpmbuild/SPECS" cp dktools-${VERSION}/*.spec ~/rpmbuild/SPECS echo "I: cp dktools-doc-${VERSION}/*.spec ~/rpmbuild/SPECS" cp dktools-doc-${VERSION}/*.spec ~/rpmbuild/SPECS echo "I: cp dktools-devdoc-${VERSION}/*.spec ~/rpmbuild/SPECS" cp dktools-devdoc-${VERSION}/*.spec ~/rpmbuild/SPECS fi # Clean up for i in $A do if [ -d ${DOWNLOADS}/$i ] then echo "rm -fr ${DOWNLOADS}/$i" rm -fr ${DOWNLOADS}/$i fi if [ -f ${DOWNLOADS}/${i}.tar ] then echo "rm -f ${DOWNLOADS}/${i}.tar" rm -f ${DOWNLOADS}/${i}.tar fi if [ -f ${DOWNLOADS}/${i}.tar.gz ] then echo "rm -f ${DOWNLOADS}/${i}.tar.gz" rm -f ${DOWNLOADS}/${i}.tar.gz fi done if [ -f "${SRCDIR}/preview.txt" ] then echo "BUILDING A PREVIEW." fi echo '<<<' `date '+%Y-%m-%d %H:%M:%S'` scripts/build-distribution.sh