This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

make dist in glibc-ports


Hi,

seems I already wrote this a long time ago and didn't notice, what do
people think?  I'll whip up a ChangeLog and send something that can be
commited by someone.

--- a/Makefile
+++ b/Makefile
@@ -1,43 +1,33 @@
 # This makefile is not used by the glibc build process.
 # It's purely for making ports tarballs.
 
-.PHONY: dist dist-ports
-dist: dist-ports
+.PHONY: dist dist-prepare
 
-# Do `make dist dist-version=X.Y.Z' to make tar files of an older version.
-dist-version = $(version)
-# Also try 'dist-tag=some="-r TAG"' (or -D DATE) to get some tag rather
-# than the release tag for X.Y.Z.
-dist-tag = -r glibc-$(subst .,_,$(dist-version))
-
-distname = glibc-ports-$(dist-version)
-
-do-export = cvs $(CVSOPTS) -Q export -d $(basename $@) $(dist-tag)
+# Regenerate stuff, then error if these things are not committed yet.
+dist-prepare: ChangeLog
+	conf=`find sysdeps -name configure`; \
+	$(MAKE) $$conf && \
+	git diff --stat HEAD -- $^ $$conf \
+	| awk '{ print; rc=1 } END { exit rc }'
 
-dist-ports: $(foreach Z,.bz2 .gz,$(distname).tar$Z)
-	md5sum $^
-$(distname).tar:
-	@rm -fr $(basename $@)
-	$(MAKE) -q `find sysdeps -name configure`
-	$(do-export) ports
-	find $(basename $@) -name configure -print | xargs touch
-	tar cf $@ $(basename $@)
-	rm -fr $(basename $@)
-
-sysdeps-of-stem = sysdeps/$* sysdeps/unix/sysv/linux/$*
+%.tar:
+	git archive --prefix=$*/ $(subst glibc-ports,glibc,$*) > $@.new
+	mv -f $@.new $@
 
-.PRECIOUS: %.gz %.bz2 # Don't delete output as intermediate files.
-dist-port-%: $(foreach Z,.bz2 .gz,glibc-port-%-$(dist-version).tar$Z)
+# Do `make dist dist-version=X.Y.Z' to make tar files of an older version.
+ifneq (,$(strip $(subst glibc,glibc-ports,$(dist-version))))
+dist: $(foreach Z,.bz2 .gz .xz,$(subst glibc,glibc-ports,$(dist-version)).tar$Z)
 	md5sum $^
-glibc-port-%-$(dist-version).tar: ChangeLog.%
-	@rm -fr $(basename $@)
-	$(MAKE) -q `find $(sysdeps-of-stem) -name configure`
-	$(do-export) ports/ChangeLog.$* $(addprefix ports/,$(sysdeps-of-stem))
-	mv $(basename $@)/ports/* $(basename $@)/
-	rmdir $(basename $@)/ports
-	find $(basename $@) -name configure -print | xargs touch
-	tar cf $@ $(basename $@)
-	rm -fr $(basename $@)
+else
+dist: dist-prepare
+	@if v=`git describe`; then \
+	  echo Distribution version $$v; \
+	  $(MAKE) dist dist-version=$$v; \
+	else \
+	  false; \
+	fi
+endif
 
 %.bz2: %; bzip2 -9vk $<
 %.gz: %; gzip -9vnc $< > $@.new && mv -f $@.new $@
+%.xz: %; xz -9evk $<


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]