Commit 0d313574 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Infrastructure update.

parent f1093ead
......@@ -8,9 +8,9 @@ clnet_home := "/project/asdf/public_html/"
sourceDirectory := $(shell pwd)
lisps ?= ccl clisp sbcl ecl allegro abcl scl
## not tested by me: allegromodern cmucl lisworks
## FAIL: gclcvs
## maybe supported by asdf, not supported yet by our tests: cormancl mcl scl
## not tested by me: allegromodern cmucl lispworks
## FAIL: gclcvs (condition handling)
## maybe supported by asdf, not supported yet by our tests: cormancl mcl
lisp ?= sbcl
......@@ -71,7 +71,8 @@ test-all: FORCE
debian-package: mrproper
git-buildpackage --git-debian-branch=release --git-upstream-branch=RELEASE --git-tag --git-retag
RELEASE="$(git tag -l '2.0[0-9][0-9]' | tail -n 1)" ; \
git-buildpackage --git-debian-branch=release --git-upstream-branch=$RELEASE --git-tag --git-retag
# Replace SBCL's ASDF with the current one.
# not recommended: just use (asdf:load-system :asdf)
......@@ -83,4 +84,13 @@ replace-sbcl-asdf:
ccl --eval '(progn(compile-file "asdf.lisp" :output-file (format nil "~Atools/asdf.lx64fsl" (ccl::ccl-directory)))(quit))'
# Delete wrongful tags from local repository
for i in ${WRONGFUL_TAGS} ; do git tag -d $$i ; done
# Delete wrongful tags from remote repository
for i in ${WRONGFUL_TAGS} ; do git push $${} :refs/tags/$$i ; done
......@@ -3,7 +3,6 @@
# write the highest tag to standard output
# exit code is 1 if it cannot be found
tag=`git describe --tags --match '[0-9].[0-9][0-9][0-9]'`
if [ "$tag" == "" ]; then
exit 1
ASDFDIR="$(readlink -f $(dirname $PROG)/..)"
if [ -z "$NEWVER" ] ; then
OLDVER="$(grep ' (asdf-version "' $ASDFLISP | cut -d\" -f2)"
NEWVER="$(echo $OLDVER | perl -npe 's/([0-9].[0-9]+)(\.([0-9]+))?/"${1}.".($3+1)/e')"
echo "Setting ASDF version to $NEWVER"
perl -i.bak -npe 's/^( \(asdf-version ")[0-9.]+("\))/${1}'"$NEWVER"'${2}/' $ASDFLISP
perl -i.bak -npe 's/^( :version ")[0-9.]+(")/${1}'"$NEWVER"'${2}/' $ASDFASD
To complete the version change, you may:
git add -u
git commit
git tag $NEWVER
# tag the currently checked out branch with $tag and update
# the tag RELEASE to point at this. $tag must not already exist.
# create tarball and tagged asdf.lisp file in tmp/
if [ -z $1 ]; then
echo "Tag must be specified."
exit 1
git tag | grep -q $tag > /dev/null
if [ $? -eq 0 ]; then
echo "Tag $tag already exists. Exiting."
exit 1
echo "Tagging with $tag"
git tag $tag
echo "Tagging with RELEASE"
git tag -f RELEASE
As upstream maintainer, I
As upstream maintainer, I do all development in master, and sometimes update release.
* use git from the upstream repo
git clone ssh://
......@@ -6,13 +6,20 @@ As upstream maintainer, I
* checkout the release branch
git checkout release
* do dark magic to create a release, merging with master,
renumbering the version, then:
* do dark magic to create a release, merging with master.
git merge master
* Don't forget to renumber the version, if needed
./bin/ 2.0xx
* Commit any relevant files, if needed
git add ...
git add -u
git commit
* do the releasing:
git tag 2.00x ; make archive-copy ; make website ;
git tag -f RELEASE ; make push
git tag 2.0xx ; make archive-copy ; make website ;
make push
* edit debian files, then:
git commit
......@@ -29,11 +36,14 @@ If ever debian diverges from upstream, you should adapt accordingly.
The below notes are obsolete, but might give you ideas how to do it.
NB: old instructions, not currently valid since all debian development
currently happens in the upstream git.
To build this package you need to get the git repository:
git clone git://
Get the upstream branch too:
cd cl-asdf
......@@ -61,4 +71,3 @@ please check your package with:
lintian --verbose --info --display-info --md5sums *.changes
Then commit any changes and either send me the diff or push this to somewhere were I can fetch it.
......@@ -2727,11 +2727,13 @@ look at the beginning of @file{asdf.lisp} to see what it does.
@chapter Getting the latest version
Decide which version you want.
HEAD is the newest version and usually OK, whereas
RELEASE is for cautious people
(e.g. who already have systems using ASDF that they don't want broken),
a slightly older version about which none of the HEAD users have complained.
There is also a STABLE version, which is earlier than release.
The @code{master} branch is where development happens;
its @code{HEAD} is usually OK, including the latest fixes and portability tweaks,
but an occasional regression may happen despite our (limited) test suite.
The @code{release} branch is what cautious people should be using;
it has usually been tested more, and releases are cut at a point
where there isn't any known unresolved issue.
You may get the ASDF source repository using git:
@kbd{git clone git://}
......@@ -3077,7 +3079,7 @@ In the meantime, you can load @file{asdf.lisp} directly.
Starting with current candidate releases of ASDF 2,
it should always be a good time to upgrade to a recent ASDF.
You may consult with the maintainer for which specific version they recommend,
but the latest RELEASE should be correct.
but the latest @code{release} should be correct.
We trust you to thoroughly test it with your implementation before you release it.
If there are any issues with the current release,
it's a bug that you should report upstream and that we will fix ASAP.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment