From 861f17fb399f24e91aa83c002067a48c33c63bff Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Tue, 26 Jun 2012 14:33:18 +0000 Subject: [PATCH] "ETICS-less releases" - creating new common targets in Makefile.inc: - dist: - files to distribute in source tarball listed in SOURCES in each Makefile - fix files permissions, using SOURCES_EXEC for executables - some files included automaticaly (configure, several from project) - distcheck: - helper target, which compares current directory content with generated source tarball - ignores some service files (CVS, ...) - 'rpm' and 'deb' targets: generating of the source packages - new targets in summary Makefile: 'release-rpm' and 'release-deb' --- org.glite.lb/configure | 55 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/org.glite.lb/configure b/org.glite.lb/configure index 59e46f2..5b05d44 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -488,7 +488,7 @@ sub mode_build { print MAK "all: @modules\n\n"; print MAK "stage: ".(join '-stage ', @modules)."-stage\n\n"; - print MAK "clean check install:\n"; + print MAK "clean check install dist distcheck rpm deb:\n"; for (@modules) { my $full = full($_); @@ -520,6 +520,13 @@ sub mode_build { print MAK "$_-stage: $snames\n\tcd $full/$build && \${MAKE} && \${MAKE} stage\n\n"; } + print MAK qq/release-rpm: clean dist distcheck rpm + +release-deb: clean dist distcheck deb + +.PHONY: all stage clean check install dist distcheck rpm deb release-rpm release-deb +/; + close MAK; } } @@ -1354,6 +1361,52 @@ top_srcdir = $top_srcdir print MKINC "gsoap_default_version=".gsoap_version()."\n" if $need_gsoap; + print MKINC ' +${package}-${version}.tar.gz: + rm -rf dist + for dist in ${SOURCES} ${SOURCES_EXEC} configure project/ChangeLog project/debian.* project/*.spec project/package.* project/version.properties; do \ + dir=${package}-${version}/`dirname $$dist`; \ + mkdir -p dist/$$dir || :; \ + install -m 0644 ${top_srcdir}/$$dist dist/$$dir; \ + done + for dist in ${SOURCES_EXEC} configure; do \ + chmod +x dist/${package}-${version}/$$dist; \ + done + (cd dist; tar -czf ${package}-${version}.tar.gz ${package}-${version}) + mv dist/${package}-${version}.tar.gz . + +dist: ${package}-${version}.tar.gz + +distcheck: ${package}-${version}.tar.gz + rm -rf dist + mkdir -p dist + cp ${package}-${version}.tar.gz dist + (cd dist; tar -xzf ${package}-${version}.tar.gz) + a=`(cd dist/${package}-${version}; find . | sort)`; \ + b=`(cd ${top_srcdir}; find . -path ./dist -prune -or -print | sort)`; \ + echo "$$a" >dist/files-dist; \ + echo "$$b" | grep -v Makefile.inc | grep -v ${package}-${version}.tar.gz | egrep -v ^./debian | egrep -v ^./[^/]*.spec | grep -v .cvsignore | grep -v project/changelog >dist/files-original + diff -U0 dist/files-dist dist/files-original + +rpm: ${package}-${version}.tar.gz + dir=dist/rpm_build_src; \ + rm -rf $$dir; \ + mkdir -p $$dir/{BUILD,RPMS,SOURCES,SRPMS}; \ + cp ${package}-${version}.tar.gz $$dir/SOURCES/${package}-${version}-${module.age}.src.tar.gz && \ + rpmbuild -bs --nodeps --define "_topdir $$dir" ${package}.spec && \ + cp -v $$dir/SRPMS/*.src.rpm dist/ + +deb: ${package}-${version}.tar.gz + dir=dist/dpkg_build_src; \ + rm -rf $$dir; \ + mkdir -p $$dir; \ + cp ${package}-${version}.tar.gz $$dir/${package}_${version}.orig.tar.gz && \ + tar zxf $$dir/${package}_${version}.orig.tar.gz -C $$dir && \ + cp -rf debian/ $$dir/${package}-${version} && \ + (cd $$dir/${package}-${version} && dpkg-buildpackage -S -d -nc) && \ + cp -v $$dir/*.tar.gz $$dir/*.dsc dist/ +'; + close MKINC; my $dh; -- 1.8.2.3