[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make dstcheck fails when gnulib source directory is ./gnulib
From: |
Jim Meyering |
Subject: |
Re: make dstcheck fails when gnulib source directory is ./gnulib |
Date: |
Wed, 20 Feb 2008 10:48:57 +0100 |
Thanks for taking the time to report these things!
"James Youngman" <address@hidden> wrote:
> Up to this point I have been doing VPATH builds of coreutils with this layout:
>
> foo/coreutils - the coreutils sources, from git.
> foo/coreutils/gnulib - the gnulib sources, from git. This is where
> ootstrap puts it.
> foo/compile - build directory; symlink to a directory on a faster filesystem
>
> This worked for builds but not distcheck. Unfortunately distcheck
> assumes the build directory is $(top_srcdir) I think. I also notice
> that "make distcheck" fails with GNULIB_SRCDIR in its default
> position:
Right, as I explained yesterday ;-)
> [...]
> ./gnulib/ChangeLog:38198:Copyright (C) 1997-2008 Free Software Foundation,
> Inc.
> ./gnulib/ChangeLog:38199:Copying and distribution of this file, with
> or without modification,
> ./gnulib/ChangeLog:38200:are permitted provided the copyright notice
> and this notice are preserved.
> Makefile.maint: found unexpected prefix in a ChangeLog
> make[2]: *** [sc_changelog] Error 1
I've just fixed this by indenting the offending lines in gnulib's
ChangeLog file.
> If I fix that by moving the gnulib directory and re-running bootstrap
> and config.status --recheck, next I fall over the fact that
> Makefile.maint assumes I have an archive of previous releases:
>
> release_archive_dir ?= ../release
Yes, that is ugly, and very old.
I confess I've never taken the time to fix it,
simply creating the required sibling directory.
Here's an untested patch ("make distcheck" in progress -- it's not fast)
that also removes xdelta support, which is intertwined: the rules to
compute xdeltas relied on the previous tarball being available
in $(release_archive_dir).
diff --git a/Makefile.maint b/Makefile.maint
index ec4b79d..db52ac1 100644
--- a/Makefile.maint
+++ b/Makefile.maint
@@ -56,7 +56,6 @@ endif
my_distdir = $(PACKAGE)-$(VERSION)
# Old releases are stored here.
-# Used for diffs and xdeltas.
release_archive_dir ?= ../release
# Prevent programs like 'sort' from considering distinct strings to be equal.
@@ -477,16 +476,14 @@ makefile_path_separator_check:
# Check that `make alpha' will not fail at the end of the process.
writable-files:
if test -d $(release_archive_dir); then :; else \
- mkdir $(release_archive_dir); \
+ for file in $(distdir).tar.gz \
+ $(release_archive_dir)/$(distdir).tar.gz; do \
+ test -e $$file || continue; \
+ test -w $$file \
+ || { echo ERROR: $$file is not writable; fail=1; }; \
+ done; \
+ test "$$fail" && exit 1 || :
fi
- for file in $(distdir).tar.gz $(xd-delta) \
- $(release_archive_dir)/$(distdir).tar.gz \
- $(release_archive_dir)/$(xd-delta); do \
- test -e $$file || continue; \
- test -w $$file \
- || { echo ERROR: $$file is not writable; fail=1; }; \
- done; \
- test "$$fail" && exit 1 || :
v_etc_file = lib/version-etc.c
sample-test = tests/sample-test
@@ -565,7 +562,7 @@ write_loser = printf '\#!%s\necho $$0: bad path 1>&2; exit
1\n' '$(SHELL)'
# Note that "false" itself is a symlink to true, so it too will malfunction.
TMPDIR ?= /tmp
t=$(TMPDIR)/$(PACKAGE)/test
-my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz) check
+my-distcheck: $(local-check) check
-rm -rf $(t)
mkdir -p $(t)
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
@@ -618,11 +615,7 @@ rel-check:
prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
-# FIXME: stop distributing xdelta files in 2008, unless someone speaks up.
-# So far, not one person has said they'd miss this.
-xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
-
-rel-files = $(xd-delta) $(DIST_ARCHIVES)
+rel-files = $(DIST_ARCHIVES)
gnulib-version = $$(cd $(gnulib_dir) && git describe)
@@ -658,9 +651,6 @@ emit_upload_commands:
@echo =====================================
@echo =====================================
-$(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
- xdelta delta -9 $^ $@ || :
-
.PHONY: alpha beta major
alpha beta major: $(local-check) writable-files
test $@ = major \
@@ -669,10 +659,11 @@ alpha beta major: $(local-check) writable-files
|| :
$(MAKE) vc-dist
$(MAKE) news-date-check changelog-check
- $(MAKE) $(xd-delta)
$(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
- ln $(rel-files) $(release_archive_dir)
- chmod a-w $(rel-files)
+ if test -d $(release_archive_dir); then \
+ ln $(rel-files) $(release_archive_dir); \
+ chmod a-w $(rel-files); \
+ fi
$(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
echo $(VERSION) > $(prev_version_file)
$(VC) commit -m \