aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-04-06 03:12:13 +0000
committerRoland McGrath <roland@gnu.org>2005-04-06 03:12:13 +0000
commit864cb7911aa7dd4f638364d7a11638c19ba897a7 (patch)
tree05912f900b90d67a37f8a84ea5806787b7023802
parent67e218b53a309ba3bdb3d7bdc0b8e05bc0354b06 (diff)
downloadglibc-864cb7911aa7dd4f638364d7a11638c19ba897a7.zip
glibc-864cb7911aa7dd4f638364d7a11638c19ba897a7.tar.gz
glibc-864cb7911aa7dd4f638364d7a11638c19ba897a7.tar.bz2
makefile hacks for using upstream tarballs
-rw-r--r--fedora/Makefile50
-rw-r--r--fedora/branch.mk1
-rw-r--r--fedora/glibc.spec.in1
3 files changed, 41 insertions, 11 deletions
diff --git a/fedora/Makefile b/fedora/Makefile
index 9bde561..0513a8e 100644
--- a/fedora/Makefile
+++ b/fedora/Makefile
@@ -26,13 +26,22 @@ snapshot-id = $($(glibc-branch)-sync-tag)
branch-name := $(patsubst %-$(patsubst glibc-%,%,$(tag-name)),%,\
$(glibc-branch))
-branch.mk-vars = glibc-branch glibc-base DIST_BRANCH COLLECTION
+branch.mk-vars = glibc-branch glibc-base DIST_BRANCH COLLECTION \
+ releases-url
+
+ifeq (,$(upstream-tag))
+ifneq (,$(upstream))
+upstream-tag := glibc-$(subst .,_,$(upstream))
+endif
+endif
update:
now=`date -u $(snapshot-date-fmt)`; \
+ $(if $(upstream-tag),new='$(upstream-tag)';,\
name=`date -u -d "$$now" $(snapshot-name-fmt)`; \
new="$(tag-prefix)$(tag-name)-$$name"; \
cvs -Q rtag $(if $(on-branch),-r $(glibc-base),-D "$$now") $$new libc;\
+ )\
(echo '# This file is updated automatically by Makefile.'; \
$(foreach var,$(branch.mk-vars),\
$(if $($(var)),echo '$(var) := $($(var))';)) \
@@ -53,6 +62,7 @@ commit-merge:
glibc.spec: glibc.spec.in ../version.h branch.mk
(echo '%define glibcdate $(snapshot-name)'; \
echo '%define glibcname $(tar-name)'; \
+ echo '%define glibcsrcdir $(srcdir-name)'; \
sed -n '/VERSION/s/^.*"\([^"]*\)"$$/%define glibcversion \1/p' \
../version.h; \
cat $<) > $@.new
@@ -78,13 +88,27 @@ tag: glibc.spec
force-tag: glibc.spec
cd ..; cvs -Q tag -F -c $(tag-prefix)$(spec-tag)
+ifeq (,$(upstream))
+srcdir-name = $(tar-name)-$(snapshot-name)
+else
+tar-name = glibc-$(upstream)
+srcdir-name = $(tar-name)
+
+ifneq ($($(glibc-branch)-sync-tag),$(upstream-tag))
+define upstream-tag-check
+ @echo Need to run make update upstream=$(upstream); exit 1
+endef
+endif
+endif
+
# Note this rule assumes that your working directory (..) is up to date.
$(tar-name)-$(branch-name).patch: makepatch.awk glibc.spec \
../ChangeLog ../*/ChangeLog
-# Use -kk to suppress patches for $Id$ differences between branches.
+ $(upstream-tag-check)
+# Use -kk to suppress patches for $ Id $ differences between branches.
(cd ..; cvs -q diff -kk -upN $(select-snapshot) $(select-release)) | \
- awk -v OLDVER=$(tar-name)-$(snapshot-name) \
- -v NEWVER=$(tar-name)-$(snapshot-name)-$(branch-name) \
+ awk -v OLDVER=$(srcdir-name) \
+ -v NEWVER=$(srcdir-name)-$(branch-name) \
-f $< > patch.tmp
mv -f patch.tmp $@
@@ -95,20 +119,26 @@ outside-patch = fedora c_stubs rtkaio glibc-compat \
$(tar-name)-$(branch-name)-$(snapshot-name).tar.bz2: Makefile branch.mk \
../ChangeLog \
../*/ChangeLog
+ $(upstream-tag-check)
@rm -rf libc
cvs -Q export $(select-release) $(addprefix libc/,$(outside-patch))
tar cf - -C libc $(outside-patch) | bzip2 -9 > $@.new
rm -rf libc
mv -f $@.new $@
-$(tar-name)-$(snapshot-name).tar.bz2: Makefile branch.mk
- @rm -rf $(tar-name)-$(snapshot-name)
- cvs -Q export -d $(tar-name)-$(snapshot-name) $(select-snapshot) libc
- tar cf - $(tar-name)-$(snapshot-name) | bzip2 -9 > $@.new
- rm -rf $(tar-name)-$(snapshot-name)
+ifeq (,$(upstream))
+$(srcdir-name).tar.bz2: Makefile branch.mk
+ @rm -rf $(srcdir-name)
+ cvs -Q export -d $(srcdir-name) $(select-snapshot) libc
+ tar cf - $(srcdir-name) | bzip2 -9 > $@.new
+ rm -rf $(srcdir-name)
mv -f $@.new $@
+else
+$(srcdir-name).tar.bz2:
+ curl -O $(releases-url)/$@
+endif
-archives = $(tar-name)-$(snapshot-name).tar.bz2 \
+archives = $(srcdir-name).tar.bz2 \
$(tar-name)-$(branch-name)-$(snapshot-name).tar.bz2 \
$(tar-name)-$(branch-name).patch
finish_archive: $(archives)
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 09f6a3a..991ac83 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -5,3 +5,4 @@ DIST_BRANCH := FC-3
COLLECTION := dist-fc3-updates-candidate
fedora-2_3-sync-date := 2005-02-26 01:41 UTC
fedora-2_3-sync-tag := fedora-glibc-2_3-20050226T0141
+releases-url := ftp://sources.redhat.com/pub/glibc/releases
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index d933f18..8ec0f3e 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -12,7 +12,6 @@ Version: %{glibcversion}
Release: %{glibcrelease}
License: LGPL
Group: System Environment/Libraries
-%define glibcsrcdir %{glibcname}-%{glibcdate}
Source0: %{glibcsrcdir}.tar.bz2
Source1: %{glibcname}-fedora-%{glibcdate}.tar.bz2
Patch0: %{glibcname}-fedora.patch