include build/autoMakefile.am.toplevel
-EXTRA_DIST += config.h.in debian/*
+EXTRA_DIST += config.h.in
+
+if USES_DPKG
+EXTRA_DIST += debian/*
+endif
if LDISKFS_ENABLED
if !LDISKFS_IN_KERNEL
echo -e "I have no idea how to create a META file in $(distdir).\nPlease file a bug at http://bugzilla.lustre.org/"; \
exit 1; \
fi
+ if [ -d .git ]; then \
+ build/extract_patches $(distdir); \
+ if grep -e "^--- .*\/autoconf" -e "^--- .*\/Makefile\.am" -e ".*\/configure\.ac" -e ".*\/configure\.in" $(distdir)/debian/patches/*; then \
+ cp build/autogen.sh $(distdir)/build; \
+ cp libsysio/autogen.sh $(distdir)/libsysio; \
+ cp lustre-iokit/autogen.sh $(distdir)/lustre-iokit; \
+ fi; \
+ mkdir empty; \
+ diff -urN empty $(distdir)/debian > debian.diff; \
+ rm -rf $(distdir)/debian; \
+ rmdir empty; \
+ fi
echo -e "1i\nlustre ($$lversion-1) unstable; urgency=low\n\n * Automated changelog entry update\n\n -- Brian J. Murrell <brian@interlinx.bc.ca> $$(date -R)\n\n.\nwq" | ed debian/changelog; \
fi; \
if [ -d .git ]; then \
- ver=$$(git describe --match [0-9v]\* --tags); \
- if [[ $$ver = *-*-* ]]; then \
- hash=$${ver##*-}; \
- ffw=$${ver#*-}; \
- ffw=$${ffw%-*}; \
- ver=$${ver%%-*}; \
- fi; \
- if [ $$ffw -gt 0 ]; then \
- tag=$$ver; \
- if [[ $$ver =~ ^v([0-9]+_)+([0-9]+|RC[0-9]+)$$ ]]; then \
- ver=$$(echo $$ver | \
- sed -e 's/^v\(.*\)/\1/' \
- -e 's/_RC[[0-9]].*$$//' \
- -e 's/_/./g'); \
- fi; \
- pdir="debian/patches"; \
- if [ -d $$pdir ]; then \
- rm -rf $$pdir; \
- fi; \
- mkdir $$pdir; \
- git format-patch -o $$pdir $$tag..HEAD; \
- pushd $$pdir; \
- if [ -d ../patched ]; then \
- rm -rf ../patched; \
- fi; \
- mkdir ../patched; \
- rm -f 00list *.dpatch; \
- for file in [0-9][0-9][0-9][0-9]-*.patch; do \
- if ! grep -q "^ debian/changelog" $$file; then \
- desc=$$(cat $$file | sed -e '1,/^$$/d' \
- -e '/^---$$/,$$d'); \
- dpatch_file=$${file/.patch/.dpatch}; \
- sed -e '1,/^---$$/d' $$file | \
- dpatch patch-template -p "$${file%.patch}" \
- "$$desc" > $$dpatch_file; \
- echo "faked by make debs run from git" > \
- ../patched/$$dpatch_file; \
- echo $$dpatch_file >> 00list; \
- fi; \
- rm -f $$file; \
- done; \
- fi; \
+ build/extract_patches .; \
fi
rm -rf debs
- dpkg-buildpackage || { \
+ dpkg-buildpackage -I.git -I\*.out[0-9]\* -I\*.swp || { \
rc=$${PIPESTATUS[0]}; \
[ $${rc} -gt 1 ] && exit $${rc}; \
exit 0; \
popd && \
VER=$$(sed -ne '1s/^lustre (\(.*-[0-9][0-9]*\)).*$$/\1/p' debian/changelog); \
mkdir -p debs && \
- mv ../liblustre_$${VER}_*.deb ../linux-patch-lustre_$${VER}_all.deb ../lustre-dev_$${VER}_*.deb ../lustre-source_$${VER}_all.deb ../lustre-tests_$${VER}_*.deb ../lustre-utils_$${VER}_*.deb ../lustre_$${VER}.dsc ../lustre_$${VER}_*.changes ../lustre_$${VER}.tar.gz ../lustre-client-modules-$${KVERS}_$${VER}_*.deb debs/
+ mv ../liblustre_$${VER}_*.deb ../linux-patch-lustre_$${VER}_all.deb ../lustre-dev_$${VER}_*.deb ../lustre-source_$${VER}_all.deb ../lustre-tests_$${VER}_*.deb ../lustre-utils_$${VER}_*.deb ../lustre_$${VER}.dsc ../lustre_$${VER}_*.changes ../lustre_$${VER%-[0-9]*}.orig.tar.gz ../lustre_$${VER}.diff.gz ../lustre-client-modules-$${KVERS}_$${VER}_*.deb debs/
AS_IF([test AS_VAR_GET(ac_Header) = yes], [$2], [$3])[]dnl
AS_VAR_POPDEF([ac_Header])dnl
])
+
+#
+# LB_USES_DPKG
+#
+# Determine if the target is a dpkg system or rpm
+#
+AC_DEFUN([LB_USES_DPKG],
+[
+AC_MSG_CHECKING([if this distro uses dpkg])
+if dpkg --version >/dev/null; then
+ AC_MSG_RESULT([yes])
+ uses_dpkg=yes
+else
+ AC_MSG_RESULT([no])
+ uses_dpkg=no
+fi
+])
AM_CONDITIONAL(DARWIN, test x$lb_target_os = "xdarwin")
AM_CONDITIONAL(CRAY_XT3, test x$enable_cray_xt3 = "xyes")
AM_CONDITIONAL(SUNOS, test x$lb_target_os = "xSunOS")
+AM_CONDITIONAL(USES_DPKG, test x$uses_dpkg = "xyes")
# this lets lustre cancel libsysio, per-branch or if liblustre is
# disabled
LB_CONFIG_DIST
LB_DOWNSTREAM_RELEASE
+LB_USES_DPKG
LB_BUILDID
LB_LIBCFS_DIR
--- /dev/null
+#!/bin/bash
+
+# extract all of the changesets since the last tagged version and put them
+# into debian/patche{s,d} as if this was a patched tree on that tag
+
+TARGET="$1"
+
+ver=$(git describe --match [0-9v]\* --tags)
+if [[ $ver = *-*-* ]]; then
+ hash=${ver##*-}
+ ffw=${ver#*-}
+ ffw=${ffw%-*}
+ ver=${ver%%-*}
+fi
+if [ $ffw -gt 0 ]; then
+ tag=$ver
+ if [[ $ver =~ ^v([0-9]+_)+([0-9]+|RC[0-9]+)$ ]]; then
+ ver=$(echo $ver |
+ sed -e 's/^v\(.*\)/\1/'
+ -e 's/_RC[0-9].*$//'
+ -e 's/_/./g')
+ fi
+ pdir="$TARGET/debian/patches"
+ if [ -d $pdir ]; then
+ rm -rf $pdir
+ fi
+ mkdir $pdir
+ git format-patch -o $pdir $tag..HEAD
+ pushd $pdir
+ if [ -d ../patched ]; then
+ rm -rf ../patched
+ fi
+ mkdir ../patched
+ rm -f 00list *.dpatch
+ for file in [0-9][0-9][0-9][0-9]-*.patch; do
+ if ! grep -q "^--- a/debian/" $file; then
+ desc=$(cat $file | sed -e '1,/^$/d' \
+ -e '/^---$/,$d')
+ dpatch_file=${file/.patch/.dpatch}
+ sed -e '1,/^---$/d' $file | \
+ dpatch patch-template -p "${file%.patch}" \
+ "$desc" > $dpatch_file
+ echo "faked by make debs run from git" > \
+ ../patched/$dpatch_file
+ echo $dpatch_file >> 00list
+ fi
+ rm -f $file
+ done
+fi
# needed autogen.sh scripts
# see https://bugzilla.lustre.org/attachment.cgi?id=27156
# for an example)
- if grep "^--- .*\/autoconf" debian/patches/*; then \
- if [ ! -f autogen.sh ]; then \
+ if grep -e "^--- .*\/autoconf" -e ".*\/configure\.ac" -e ".*\/configure\.in" debian/patches/*; then \
+ if [ ! -f build/autogen.sh ]; then \
echo "You have patches which require autogen.sh to be run, but it doesn't exist"; \
echo "Please see https://bugzilla.lustre.org/attachment.cgi?id=27156"; \
exit 1; \
cp /usr/share/misc/config.guess config.guess; \
cp /usr/share/misc/config.guess libsysio/config.guess; \
cp /usr/share/misc/config.guess ldiskfs/config.guess; \
- sh ./autogen.sh; \
+ sh build/autogen.sh; \
fi; \
touch $@