]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/make-tar.sh
ncurses 6.2 - patch 20211016
[ncurses.git] / Ada95 / make-tar.sh
old mode 100644 (file)
new mode 100755 (executable)
index 7a49510..e18ede7
@@ -1,7 +1,8 @@
 #!/bin/sh
-# $Id: make-tar.sh,v 1.2 2010/02/20 23:45:13 tom Exp $
+# $Id: make-tar.sh,v 1.20 2021/10/12 21:11:33 tom Exp $
 ##############################################################################
-# Copyright (c) 2010 Free Software Foundation, Inc.                          #
+# Copyright 2019-2020,2021 Thomas E. Dickey                                  #
+# Copyright 2010-2015,2017 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 # documentation.  The reason for doing that is to simplify distributing the
 # ada binding as a separate package.
 
-ROOTNAME=ncurses-Ada95
+CDPATH=:
+export CDPATH
 
 TARGET=`pwd`
 
-: ${TMPDIR=/tmp}
-
-# This can be run from either the Ada95 subdirectory, or from the top-level
+: "${ROOTNAME:=ncurses-Ada95}"
+: "${PKG_NAME:=AdaCurses}"
+: "${DESTDIR:=$TARGET}"
+: "${TMPDIR:=/tmp}"
+
+grep_assign() {
+       grep_assign=`grep -E "^$2\>" "$1" | sed -e "s/^$2[      ]*=[    ]*//" -e 's/"//g'`
+       eval "$2"=\""$grep_assign"\"
+}
+
+grep_patchdate() {
+       grep_assign ../dist.mk NCURSES_MAJOR
+       grep_assign ../dist.mk NCURSES_MINOR
+       grep_assign ../dist.mk NCURSES_PATCH
+}
+
+# The rpm spec-file in the ncurses tree is a template.  Fill in the version
+# information from dist.mk
+edit_specfile() {
+       sed \
+               -e "s/\\<MAJOR\\>/$NCURSES_MAJOR/g" \
+               -e "s/\\<MINOR\\>/$NCURSES_MINOR/g" \
+               -e "s/\\<YYYYMMDD\\>/$NCURSES_PATCH/g" "$1" >"$1.new"
+       chmod u+w "$1"
+       mv "$1.new" "$1"
+}
+
+make_changelog() {
+       [ -f "$1" ] && chmod u+w "$1"
+       cat >"$1" <<EOF
+`echo $PKG_NAME|tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` ($NCURSES_MAJOR.$NCURSES_MINOR+$NCURSES_PATCH) unstable; urgency=low
+
+  * snapshot of ncurses subpackage for $PKG_NAME.
+
+ -- `head -n 1 "$HOME"/.signature`  `date -R`
+EOF
+}
+
+# This can be run from either the subdirectory, or from the top-level
 # source directory.  We will put the tar file in the original directory.
-test -d ./Ada95 && cd ./Ada95
+if [ -d ./Ada95 ]
+then
+       cd ./Ada95 || exit
+fi
+SOURCE=`cd ..;pwd`
 
 BUILD=$TMPDIR/make-tar$$
-trap "cd /; rm -rf $BUILD; exit 0" 0 1 2 5 15
+trap "cd /; rm -rf $BUILD; exit 0" EXIT INT QUIT TERM HUP
 
 umask 077
 if ! ( mkdir $BUILD )
@@ -53,29 +95,66 @@ fi
 umask 022
 mkdir $BUILD/$ROOTNAME
 
-cp -p -r * $BUILD/$ROOTNAME/ || exit
+cp -p -r ./* $BUILD/$ROOTNAME/ || exit
+
+# Add the config.* utility scripts from the top-level directory.
+for i in . ..
+do
+       for j in COPYING config.guess config.sub install-sh tar-copy.sh
+       do
+               [ -f $i/$j ] && cp -p $i/$j $BUILD/$ROOTNAME/
+       done
+done
+
+# Make rpm and dpkg scripts for test-builds
+grep_patchdate
+for spec in "$BUILD/$ROOTNAME"/package/*.spec
+do
+       edit_specfile "$spec"
+done
+for spec in "$BUILD/$ROOTNAME"/package/debian*
+do
+       make_changelog "$spec"/changelog
+done
+
+cp -p ../man/MKada_config.in $BUILD/$ROOTNAME/doc/
+if [ -z "$NO_HTML_DOCS" ]
+then
+       # Add the ada documentation.
+       cd ../doc/html || exit
+
+       cp -p -r Ada* $BUILD/$ROOTNAME/doc/
+       cp -p -r ada $BUILD/$ROOTNAME/doc/
+fi
+
+cp -p "$SOURCE/NEWS" $BUILD/$ROOTNAME
+
+# cleanup empty directories (an artifact of ncurses source archives)
 
-# Add the ada documentation.
-mkdir $BUILD/$ROOTNAME/doc || exit
-cd ../doc/html || exit
+touch $BUILD/$ROOTNAME/MANIFEST
+( cd $BUILD/$ROOTNAME && find . -type f -print | "$SOURCE/misc/csort" >MANIFEST )
 
-cp -p -r Ada* $BUILD/$ROOTNAME/doc/
-cp -p -r ada $BUILD/$ROOTNAME/doc/
+cd $BUILD || exit
 
-cd $BUILD || exit 
+# Remove build-artifacts.
+find . -name RCS -exec rm -rf {} \;
+find $BUILD/$ROOTNAME -type d -exec rmdir {} \; 2>/dev/null
+find $BUILD/$ROOTNAME -type d -exec rmdir {} \; 2>/dev/null
+find $BUILD/$ROOTNAME -type d -exec rmdir {} \; 2>/dev/null
 
 # There is no need for this script in the tar file.
 rm -f $ROOTNAME/make-tar.sh
 
 # Remove build-artifacts.
-find . -name RCS -exec rm -rf {} \;
 find . -name "*.gz" -exec rm -rf {} \;
 
 # Make the files writable...
 chmod -R u+w .
 
-tar cf - $ROOTNAME | gzip >$TARGET/$ROOTNAME.tar.gz
-cd $TARGET
+tar cf - $ROOTNAME | gzip >"$DESTDIR/$ROOTNAME.tar.gz"
+cd "$DESTDIR" || exit
 
 pwd
 ls -l $ROOTNAME.tar.gz
+
+# vi:ts=4 sw=4