Remove RPM spec file and scripts.

The RPM spec file now lives in the `packaging' repository.

.mercury-compiler.spec.in:
tools/build_rpm:
tools/invoke_build_rpm:
	Delete these files.

.gitignore:
Mmakefile:
compiler/notes/release_checklist.html:
	Remove all evidence.

	Delete outdated instructions for building Debian packages.
This commit is contained in:
Peter Wang
2013-04-18 16:46:26 +10:00
parent 31c0fb8291
commit 1cf15258d9
6 changed files with 1 additions and 338 deletions

1
.gitignore vendored
View File

@@ -2,7 +2,6 @@ README
INSTALL
TODO
WORK_IN_PROGRESS
mercury-compiler.spec
configure
config.cache
config.status

View File

@@ -1,118 +0,0 @@
#
# RPM (Red Hat Package Manager) spec file
# for the Mercury implementation.
#
# Copyright (C) 1999, 2001, 2002 The University of Melbourne
#
# Please send bugfixes or comments to <mercury-bugs@cs.mu.oz.au>.
#
Summary: The logic/functional programming language Mercury
Name: mercury-compiler
Version: @VERSION_WITH_UNDERSCORES@
Release: 1
Packager: The Mercury Group <mercury@cs.mu.oz.au>
Vendor: The Mercury Group <mercury@cs.mu.oz.au>
Copyright: GPL and LGPL
Group: Development/Languages
Provides: mercury
Requires: gcc make
Source: ftp.mercury.cs.mu.oz.au:/pub/mercury/@MAYBE_BETA@mercury-compiler-@VERSION@.tar.gz
URL: http://www.cs.mu.oz.au/mercury/
%description
Mercury is a modern logic/functional programming language, which combines
the clarity and expressiveness of declarative programming with advanced
static analysis and error detection features. Its highly optimized
execution algorithm delivers efficiency far in excess of existing logic
programming systems, and close to conventional programming
systems. Mercury addresses the problems of large-scale program
development, allowing modularity, separate compilation, and numerous
optimization/time trade-offs.
This package includes the compiler, profiler, debugger, documentation, etc.
It does NOT include the "extras" distribution; that is available
from <http://www.cs.mu.oz.au/mercury/download/release.html>.
%changelog
* Sun Feb 8 2004 Fergus Henderson <fjh@cs.mu.oz.au>
- Update to support RedHat 8.0 and Mercury > 0.11.
In particular:
use /usr/share/man and /usr/share/info instead of /usr/man and /usr/info;
use ".1*" instead of ".1" for man pages in order to allow for the
possibility of them being compressed;
set INSTALL_PREFIX when doing make install;
set MERCURY_COMPILER when doing make install,
in order to allow installing from the source .tar.gz without
needing an already-installed Mercury compiler;
mention new files added since Mercury 0.10.
* Thu Oct 16 2002 Fergus Henderson <fjh@cs.mu.oz.au>
- Modify the way the spec file is generated to support building
RPMS for ROTD releases.
* Wed Apr 04 2001 Fergus Henderson <fjh@cs.mu.oz.au>
- Delete the "Red Hat Contrib Net" stuff, since RHCN seems to have disappeared
from the face of the earth.
* Fri Feb 19 1999 Fergus Henderson <fjh@cs.mu.oz.au>
- Initial version.
%prep
%setup -n mercury-compiler-@VERSION@
%build
sh configure --prefix=/usr
make
%install
PLATFORM=`./config.guess`
MERCURY_COMPILER=$RPM_BUILD_ROOT%{_libdir}/mercury/bin/$PLATFORM/mercury_compile \
make install \
INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix} \
INSTALL_MAN_DIR=$RPM_BUILD_ROOT%{_mandir} \
INSTALL_INFO_DIR=$RPM_BUILD_ROOT%{_infodir}
%files
%doc README*
%doc NEWS RELEASE_NOTES VERSION WORK_IN_PROGRESS HISTORY LIMITATIONS
%doc INSTALL INSTALL_CVS
%doc COPYING COPYING.LIB
%doc samples
/usr/bin/c2init
/usr/bin/canonical_grade
/usr/bin/info_to_mdb
/usr/bin/mdb
/usr/bin/mdemangle
/usr/bin/mfiltercc
/usr/bin/mercury.bat
/usr/bin/mercury_cleanup_install
/usr/bin/mercury_config
/usr/bin/mercury_update_interface
/usr/bin/mgnuc
/usr/bin/mkfifo_using_mknod
/usr/bin/mkinit
/usr/bin/ml
/usr/bin/mmake
/usr/bin/mmc
/usr/bin/mprof
/usr/bin/mprof_merge_runs
/usr/bin/mtags
/usr/bin/vpath_find
/usr/share/man/man1/c2init.1*
/usr/share/man/man1/mdb.1*
/usr/share/man/man1/mercury_config.1*
/usr/share/man/man1/mgnuc.1*
/usr/share/man/man1/ml.1*
/usr/share/man/man1/mmake.1*
/usr/share/man/man1/mmc.1*
/usr/share/man/man1/mprof.1*
/usr/share/man/man1/mprof_merge_runs.1*
/usr/share/man/man1/mtags.1*
/usr/share/info/mercury.info*
/usr/share/info/mercury_faq.info*
/usr/share/info/mercury_library.info*
/usr/share/info/mercury_ref.info*
/usr/share/info/mercury_trans_guide.info*
/usr/share/info/mercury_user_guide.info*
/usr/lib/mercury

View File

@@ -226,7 +226,7 @@ depend_deep_profiler:
# it is required.
.PHONY: all
all: $(GENERATED_DOCS) mercury-compiler.spec util_no_rt $(SUBDIRS)
all: $(GENERATED_DOCS) util_no_rt $(SUBDIRS)
.PHONY: util_no_rt
util_no_rt: scripts
@@ -405,18 +405,6 @@ WORK_IN_PROGRESS: compiler/notes/work_in_progress.html
TODO: compiler/notes/todo.html
$(HTML_TO_TEXT) compiler/notes/todo.html > TODO
mercury-compiler.spec: .mercury-compiler.spec.in VERSION
version_with_underscores=`echo $(VERSION) | sed 's/-/_/g'`; \
beta_dir=`expr "$(VERSION)" : '\(.*beta\).*'`; \
maybe_beta=`case $(VERSION) in \
rotd*) echo "beta-releases/rotd/" ;; \
*beta*) echo "beta-releases/$$beta_dir/" ;; \
esac`; \
sed -e "s/@VERSION@/$(VERSION)/g" \
-e "s/@VERSION_WITH_UNDERSCORES@/$$version_with_underscores/g" \
-e "s^@MAYBE_BETA@^$$maybe_beta^g" \
.mercury-compiler.spec.in > mercury-compiler.spec
#-----------------------------------------------------------------------------#
# Generally you should do a `mmake realclean' before doing `mmake tar'.

View File

@@ -144,13 +144,6 @@ taken when releasing a new version of Mercury.
version number, date, file sizes, and file names need to be updated
for a new release.
<li> Create new binary packages for Linux packaging systems.
The .spec file can be used to create .rpm packages.
The command <i>dpkg-buildpackage -rfakeroot</i> on hydra can be
used to create .deb packages, although you should probably
let (or make) the official maintainer do this so it can be
PGP signed and uploaded.
<li> Upload "mercury-VERSION-compiler.tar.gz" and "mercury-VERSION.lsm" to
ftp://sunsite.unc.edu/incoming/Linux. They will be moved to
/pub/Linux/Incoming fairly quickly, and eventually should be moved

View File

@@ -1,181 +0,0 @@
#!/bin/sh
#-----------------------------------------------------------------------------#
# Copyright (C) 2004 The University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
#
# This script builds RPMs for the stable and unstable release-of-the-day
# distributions.
#
# This script should be run by root, from a root crontab.
# It uses the already-built .tar.gz source distributions
# from the Mercury web site, and uses the "latest-stable-version"
# and "latest-unstable-version" files to tell it which versions
# to build RPMs for.
#
# XXX building "unstable" RPMS not yet tested...
#
#-----------------------------------------------------------------------------#
set -x
#-----------------------------------------------------------------------------#
usage() {
echo "Usage: $0 <branch-dir> <stability>" 1>&2
echo '<branch-dir> can be "rotd", "0.11.1-beta", "0.11", etc.'
echo '(It must match the subdirectory name on the web site.)'
echo '<stability> must be either "stable" or "unstable".' 1>&2
exit 1
}
# Parse the command-line arguments
case "$#" in
2) branch_dir=$1; stability=$2 ;;
*) usage ;;
esac
case "$stability" in
stable|unstable)
;;
*) usage ;;
esac
#-----------------------------------------------------------------------------#
#
# Set some hard-coded path names.
#
# The place to install files for the web site.
# This is also used to find the .tar.gz source distribution and the
# "latest-stable-version" and "latest-unstable-version" files.
WEBDIR=/home/mercury/public/installed_w3/download/files
BETA_WEBDIR=$WEBDIR/beta-releases/$branch_dir
# Place to install files for the FTP site
FTP_HOST=ftp.mercury.cs.mu.oz.au
FTPDIR=$FTP_HOST:/home/ftp/pub/mercury
BETA_FTPDIR=$FTPDIR/beta-releases/$branch_dir
# Place to record log file (rpmbuild.out)
LOGDIR=/home/mercury/public/test_mercury/logs
ROOT_CRON_DIR=/home/aral/root_cron
# Directory to use as a temporary installation root
# (Beware, anything in this directory will get deleted by "rm -rf"!)
BUILD_ROOT=/tmp/mercury_rpm_root
# Directory in which rpm will put the RPMs and build directory
RPMDIR=/usr/src/redhat
# The RPM "Release" is hard-coded to be 1
# (XXX This should be determined from the "Release:" field in the .spec file.)
rel=1
# XXX The RPM architecture is hard-coded to be i386
arch=i386
#-----------------------------------------------------------------------------#
#
# Subroutines for error-reporting.
#
failed() {
echo "*** $0: $@ failed" 1>&2
}
fatal_error() {
failed "$@"
exit 1
}
#-----------------------------------------------------------------------------#
#
# The main program -- build the RPMs and install them.
#
#
# Figure out which version we are going to build
#
pat="mercury-compiler-*[0-9][0-9][0-9][0-9]_[0-9][0-9]_[0-9][0-9]"
case $stability in
stable)
base_version=`cat $BETA_WEBDIR/latest-stable-version`
version=$base_version
pattern="$pat"
;;
unstable)
base_version=`cat $BETA_WEBDIR/latest-unstable-version`
version=$base_version-unstable
pattern="$pat"_unstable
;;
esac
#
# Get the .tar.gz distribution, and use that to build the RPMs
#
cp $BETA_WEBDIR/mercury-compiler-$version.tar.gz \
$RPMDIR/SOURCES/mercury-compiler-$base_version.tar.gz \
|| fatal_error "copying source dist"
rm -rf $BUILD_ROOT
mkdir -p $BUILD_ROOT
rpmbuild --buildroot=$BUILD_ROOT --verbose -ta --clean --rmsource --rmspec \
$RPMDIR/SOURCES/mercury-compiler-$base_version.tar.gz \
>& $ROOT_CRON_DIR/rpmbuild.out || fatal_error "rpmbuild"
rm -rf $BUILD_ROOT
fgrep '**' $ROOT_CRON_DIR/rpmbuild.out > $ROOT_CRON_DIR/rpmbuild.out.errs
# Because $LOGDIR is NFS-mounted with root-squash, root doesn't have
# permission to copy to it. So we need to su to "mercury".
su mercury -c "cp $ROOT_CRON_DIR/rpmbuild.out $LOGDIR" || failed "copying log"
su mercury -c "cp $ROOT_CRON_DIR/rpmbuild.out.errs $LOGDIR" \
|| failed "copying log errs"
#
# Copy the RPMs that we just built to the web site and the FTP site.
#
version_with_underscores=`echo $version | sed 's/-/_/g'`
base_vsn_with_us=`echo $base_version | sed 's/-/_/g'`
su mercury -c "\
cp \
$RPMDIR/RPMS/$arch/mercury-compiler-$base_vsn_with_us-$rel.$arch.rpm \
$BETA_WEBDIR/mercury-compiler-$version_with_underscores-$rel.$arch.rpm" \
|| failed 'copying RPM to web site'
su mercury -c "\
find $BETA_WEBDIR -name "$pattern-$rel.$arch.rpm" -a -! -name \
mercury-compiler-$version_with_underscores-$rel.$arch.rpm | \
xargs rm -f" \
|| failed 'to delete old RPM'
su mercury -c "\
cp $RPMDIR/SRPMS/mercury-compiler-$base_vsn_with_us-$rel.src.rpm \
$BETA_WEBDIR/mercury-compiler-$version_with_underscores-$rel.src.rpm" \
|| failed "copying SRPM to web site"
su mercury -c "\
find $BETA_WEBDIR -name "$pattern-$rel.src.rpm" -a -! -name \
mercury-compiler-$version_with_underscores-$rel.src.rpm | \
xargs rm -f" \
|| failed 'to delete old source RPM'
su mercury -c "\
cd $BETA_WEBDIR; \
PATH=/home/mercury/public/cron/scripts:$PATH; \
generate_index_html" \
|| failed "reindexing web site"
su mercury -c "\
scp $RPMDIR/RPMS/$arch/mercury-compiler-$base_vsn_with_us-$rel.$arch.rpm \
$BETA_FTPDIR/mercury-compiler-$version_with_underscores-$rel.$arch.rpm" \
|| failed 'copying RPMs to ftp site'
su mercury -c "\
scp $RPMDIR/SRPMS/mercury-compiler-$base_vsn_with_us-$rel.src.rpm \
$BETA_FTPDIR/mercury-compiler-$version_with_underscores-$rel.src.rpm" \
|| failed 'copying RPMs to ftp site'
/bin/rm $RPMDIR/RPMS/$arch/mercury-compiler-$base_vsn_with_us-$rel.$arch.rpm
/bin/rm $RPMDIR/SRPMS/mercury-compiler-$base_vsn_with_us-$rel.src.rpm
#-----------------------------------------------------------------------------#

View File

@@ -1,18 +0,0 @@
#!/bin/bash
#-----------------------------------------------------------------------------#
# Copyright (C) 2004 The University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#
#
# This script invokes build_rpm (which builds RPMs for the stable and
# unstable release-of-the-day distributions), and mails the output.
#
# This script should be run by root, from a root crontab.
export HOME=/root
/home/aral/root_cron/build_rpm "$@" >& /tmp/invoke_build_rpm$$
mutt -s "output from build_rpm $*" fjh@cs.mu.oz.au < /tmp/invoke_build_rpm$$
rm -f /tmp/invoke_build_rpm$$
#-----------------------------------------------------------------------------#