* [patch] xfsprogs build tweaks for Debian
[not found] <777659823.265181253164106522.JavaMail.root@mail-au.aconex.com>
@ 2009-09-17 23:08 ` Nathan Scott
2009-09-22 11:57 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Nathan Scott @ 2009-09-17 23:08 UTC (permalink / raw)
To: xfs
[-- Attachment #1: Type: text/plain, Size: 553 bytes --]
Hi all,
This patch allows deb packages to be generated more cleanly by Makepkgs
than it currently allows. In particular, it handles the issue of having
.git files in the generated tarball, and also puts the debs in build/deb
when they're built, which is a bit more convenient and consistent.
Another handy side-effect of doing the build this new way (pcp packages
are also built this way, FWIW), is that it verifies the SRCFILES macros
as part of the build, which ensures the source tarball that we generate
will actually build.
cheers.
--
Nathan
[-- Attachment #2: patch --]
[-- Type: text/x-patch, Size: 6703 bytes --]
diff --git a/Makefile b/Makefile
index db718d2..8a7ef4d 100644
--- a/Makefile
+++ b/Makefile
@@ -9,9 +9,7 @@ ifeq ($(HAVE_BUILDDEFS), yes)
include $(TOPDIR)/include/builddefs
endif
-CONFIGURE = aclocal.m4 configure config.guess config.sub configure install-sh \
- ltmain.sh m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
- m4/ltversion.m4 m4/lt~obsolete.m4
+CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh
LSRCFILES = configure.in Makepkgs release.sh README VERSION $(CONFIGURE)
LDIRT = config.log .dep config.status config.cache confdefs.h conftest* \
diff --git a/Makepkgs b/Makepkgs
index d5583b4..1f3c8c0 100755
--- a/Makepkgs
+++ b/Makepkgs
@@ -6,6 +6,7 @@
LOGDIR=Logs
type=rpm
+[ -f /etc/debian_version ] && type=debian
verbose=false
MAKE=${MAKE:-make}
@@ -35,13 +36,27 @@ test -f fileslib.rpm && rm -f fileslib.rpm
test ! -d $LOGDIR && mkdir $LOGDIR
rm -rf $LOGDIR/* > /dev/null 2>&1
-# build Debian packages, cleans itself before starting
-SUDO=${SUDO:-sudo}
-test ! -z "$SUDO" && sudo=$SUDO
if [ $type = debian ] ; then
- LOGDEB=`pwd`
- LOGDEB=../`basename $LOGDEB`.log
- echo "== Debian build, log is $LOGDEB"; echo
+ SOURCE=`pwd`
+ PACKAGE=`basename $SOURCE`
+ LOGDEB=$SOURCE/$LOGDIR/$PACKAGE.log
+ if $verbose ; then
+ $MAKE include/builddefs 2>&1 | tee $LOGDIR/configure
+ else
+ $MAKE include/builddefs > $LOGDIR/configure 2>&1 || exit 1
+ fi
+
+ . ./VERSION
+ VERSION=${PKG_MAJOR}.${PKG_MINOR}.${PKG_REVISION}
+ export SRCLINK_ROOT="$SOURCE/build/deb/$PACKAGE-$VERSION"
+ rm -fr "$SRCLINK_ROOT"
+ mkdir -p "$SRCLINK_ROOT" || exit 1
+
+ $MAKE source-link || exit 1
+
+ cd "$SRCLINK_ROOT"
+ SUDO=${SUDO:-fakeroot}
+ test ! -z "$SUDO" && sudo=$SUDO
if $verbose ; then
dpkg-buildpackage -r$SUDO | tee $LOGDEB
else
@@ -50,7 +65,6 @@ if [ $type = debian ] ; then
exit 0
fi
-# build RPM packages - manual clean before starting
echo "== clean, log is $LOGDIR/clean"
if $verbose ; then
$MAKE clean 2>&1 | tee $LOGDIR/clean
diff --git a/VERSION b/VERSION
index b3a880e..6018818 100644
--- a/VERSION
+++ b/VERSION
@@ -3,5 +3,5 @@
#
PKG_MAJOR=3
PKG_MINOR=0
-PKG_REVISION=3
+PKG_REVISION=4
PKG_BUILD=1
diff --git a/build/Makefile b/build/Makefile
index 200c249..cec6115 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -9,6 +9,7 @@ MANIFEST=src-manifest
SRCTAR=$(PKG_NAME)-$(PKG_VERSION).tar.gz
LDIRT = *-manifest *.gz $(TOPDIR)/$(PKG_NAME)-*
+LDIRDIRT = deb
# for clean and clobber
SUBDIRS = tar rpm
diff --git a/debian/changelog b/debian/changelog
index ebf9819..84ba8a8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xfsprogs (3.0.4) unstable; urgency=low
+
+ * New bugfix release
+ * Update readline dependency to allow libreadline6.
+
+ -- Nathan Scott <nathans@debian.org> Thu, 17 Sep 2009 14:32:48 +1000
+
xfsprogs (3.0.2) unstable; urgency=low
* New bugfix release
diff --git a/debian/control b/debian/control
index 7c5cb93..3939605 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: admin
Priority: optional
Maintainer: Nathan Scott <nathans@debian.org>
Uploaders: Anibal Monsalve Salazar <anibal@debian.org>
-Build-Depends: uuid-dev, autoconf, debhelper (>= 5), gettext, libtool, libreadline5-dev
+Build-Depends: uuid-dev, autoconf, debhelper (>= 5), gettext, libtool, libreadline5-dev | libreadline-dev
Standards-Version: 3.8.1
Homepage: http://oss.sgi.com/projects/xfs/
diff --git a/doc/CHANGES b/doc/CHANGES
index c7da0bd..1590106 100644
--- a/doc/CHANGES
+++ b/doc/CHANGES
@@ -1,3 +1,7 @@
+xfsprogs-3.0.4 (17 September 2009)
+ - Debian packaging updates, esp. readline6 dependency.
+ - Rework Makepkgs and Makefiles to improve deb generation.
+
xfsprogs-3.0.3 (30 August 2009)
- Fix unaligned accesses in libxfs.
- Various small fixes to xfs_db, xfs_repair and xfs_io.
diff --git a/include/Makefile b/include/Makefile
index 1ca5071..d89480e 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -19,7 +19,7 @@ TOPDIR = ..
include $(TOPDIR)/include/builddefs
QAHFILES = libxfs.h libxlog.h \
- bitops.h cache.h kmem.h list.h parent.h swab.h xqm.h \
+ bitops.h cache.h kmem.h list.h parent.h swab.h \
xfs_ag.h xfs_alloc.h xfs_alloc_btree.h xfs_arch.h xfs_attr_leaf.h \
xfs_attr_sf.h xfs_bit.h xfs_bmap.h xfs_bmap_btree.h xfs_btree.h \
xfs_btree_trace.h xfs_buf_item.h xfs_da_btree.h xfs_dinode.h \
diff --git a/include/buildmacros b/include/buildmacros
index ec22fb6..b825e10 100644
--- a/include/buildmacros
+++ b/include/buildmacros
@@ -22,6 +22,8 @@ MANDIRT = *.[1-9].gz
PODIRT = *.tmpo *.mo
CDIRT = $(OBJECTS) $(LTOBJECTS) $(LTCOMMAND) $(LTLIBRARY)
DIRT = $(LDIRT) $(DEPDIRT) $(MANDIRT) $(PODIRT) $(CDIRT)
+LIBDIRT = .libs
+DIRDIRT = $(LDIRDIRT) $(LIBDIRT)
OBJECTS = $(ASFILES:.s=.o) \
$(CFILES:.c=.o) \
@@ -138,7 +140,7 @@ DIST_MAKERULE = \
SOURCE_MAKERULE = \
@test -z "$$DIR" && DIR="."; \
- for f in $(SRCFILES) ""; do \
+ for f in $(SRCFILES) $(POTHEAD) ""; do \
test -z "$$f" && break; \
test -L "$$f" || $(ECHO) $$DIR/$$f; \
done; \
diff --git a/include/buildrules b/include/buildrules
index f2a3372..62d9a37 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -8,7 +8,7 @@ include $(TOPDIR)/include/builddefs
clean clobber : $(addsuffix -clean,$(SUBDIRS))
rm -f $(DIRT)
- @rm -fr .libs
+ rm -fr $(DIRDIRT)
%-clean:
$(MAKE) -C $* clean
@@ -21,6 +21,17 @@ $(SUBDIRS):
$(MAKE) -C $@
endif
+source-link:
+ @test -z "$$DIR" && DIR="."; \
+ for f in `echo $(SRCFILES) $(SUBDIRS)`; do \
+ if test -d $$f ; then \
+ mkdir $$SRCLINK_ROOT/$$DIR/$$f || exit $$?; \
+ $(MAKEF) DIR=$$DIR/$$f -C $$f $@ || exit $$?; \
+ else \
+ ln $$f $$SRCLINK_ROOT/$$DIR/$$f || exit $$?; \
+ fi; \
+ done
+
#
# Standard targets
#
diff --git a/m4/Makefile b/m4/Makefile
index ab0ed48..825ba71 100644
--- a/m4/Makefile
+++ b/m4/Makefile
@@ -5,6 +5,13 @@
TOPDIR = ..
include $(TOPDIR)/include/builddefs
+CONFIGURE = \
+ libtool.m4 \
+ ltoptions.m4 \
+ ltsugar.m4 \
+ ltversion.m4 \
+ lt~obsolete.m4
+
LSRCFILES = \
manual_format.m4 \
package_aiodev.m4 \
@@ -14,10 +21,14 @@ LSRCFILES = \
package_types.m4 \
package_utilies.m4 \
package_uuiddev.m4 \
- multilib.m4
+ multilib.m4 \
+ $(CONFIGURE)
default:
include $(BUILDRULES)
install install-dev install-lib: default
+
+realclean: distclean
+ rm -f $(CONFIGURE)
diff --git a/po/Makefile b/po/Makefile
index ac7d43f..4db7d1e 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -7,7 +7,7 @@ include $(TOPDIR)/include/builddefs
POTHEAD = $(PKG_NAME).pot
LINGUAS = pl
-LSRCFILES = $(LINGUAS:%=%.po) $(POTHEAD)
+LSRCFILES = $(LINGUAS:%=%.po)
LDIRT = $(POTHEAD)
XGETTEXTFILES = $(LOCALIZED_FILES)
[-- Attachment #3: Type: text/plain, Size: 121 bytes --]
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [patch] xfsprogs build tweaks for Debian
2009-09-17 23:08 ` [patch] xfsprogs build tweaks for Debian Nathan Scott
@ 2009-09-22 11:57 ` Christoph Hellwig
2009-09-22 12:15 ` Christoph Hellwig
2009-09-23 0:08 ` Nathan Scott
0 siblings, 2 replies; 4+ messages in thread
From: Christoph Hellwig @ 2009-09-22 11:57 UTC (permalink / raw)
To: Nathan Scott; +Cc: xfs
On Fri, Sep 18, 2009 at 09:08:49AM +1000, Nathan Scott wrote:
> Hi all,
>
> This patch allows deb packages to be generated more cleanly by Makepkgs
> than it currently allows. In particular, it handles the issue of having
> .git files in the generated tarball, and also puts the debs in build/deb
> when they're built, which is a bit more convenient and consistent.
The tarball generated by Makepks does not contain .git. Do you create
a tarball in a different way for debian?
> +++ b/Makefile
> @@ -9,9 +9,7 @@ ifeq ($(HAVE_BUILDDEFS), yes)
> include $(TOPDIR)/include/builddefs
> endif
>
> -CONFIGURE = aclocal.m4 configure config.guess config.sub configure install-sh \
> - ltmain.sh m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 \
> - m4/ltversion.m4 m4/lt~obsolete.m4
> +CONFIGURE = aclocal.m4 configure config.guess config.sub install-sh ltmain.sh
So configure was mentioned twice which is an obvious bug. But why do we
want to remove the m4/* files from the list of files to package?
[Ah, they're added inside the m4 directory, ok]
> type=rpm
> +[ -f /etc/debian_version ] && type=debian
would be cleaner as
#
# If we're on a Debian or Debian-derived system generate deb packages by
# default, else RPM packages.
#
if [ -f /etc/debian_version ]
type=debian
else
type=rpm
fi
> diff --git a/VERSION b/VERSION
> index b3a880e..6018818 100644
> --- a/VERSION
> +++ b/VERSION
> @@ -3,5 +3,5 @@
> #
> PKG_MAJOR=3
> PKG_MINOR=0
> -PKG_REVISION=3
> +PKG_REVISION=4
> PKG_BUILD=1
Note that when you bump package version please always also tag the
result in git.
> + - Debian packaging updates, esp. readline6 dependency.
Btw, didn't readline move to GPLv3 while we have GPLv2 code in libxfs?
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] xfsprogs build tweaks for Debian
2009-09-22 11:57 ` Christoph Hellwig
@ 2009-09-22 12:15 ` Christoph Hellwig
2009-09-23 0:08 ` Nathan Scott
1 sibling, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2009-09-22 12:15 UTC (permalink / raw)
To: Nathan Scott; +Cc: xfs
On Tue, Sep 22, 2009 at 07:57:07AM -0400, Christoph Hellwig wrote:
> > PKG_MINOR=0
> > -PKG_REVISION=3
> > +PKG_REVISION=4
> > PKG_BUILD=1
>
> Note that when you bump package version please always also tag the
> result in git.
Actually given that the tree has moved ahead that's not even easily
doable. I'd suggest to commit this ontop of the few patches in already
and include them in the changelog.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch] xfsprogs build tweaks for Debian
2009-09-22 11:57 ` Christoph Hellwig
2009-09-22 12:15 ` Christoph Hellwig
@ 2009-09-23 0:08 ` Nathan Scott
1 sibling, 0 replies; 4+ messages in thread
From: Nathan Scott @ 2009-09-23 0:08 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: xfs
----- "Christoph Hellwig" <hch@infradead.org> wrote:
> The tarball generated by Makepks does not contain .git. Do you
> create a tarball in a different way for debian?
Building directly from a git tree - its a one-step process.
>
> would be cleaner as
>
> #
> # If we're on a Debian or Debian-derived system generate deb packages
> by
> # default, else RPM packages.
> #
> if [ -f /etc/debian_version ]
> type=debian
> else
> type=rpm
> fi
OK, yep, will do.
> Note that when you bump package version please always also tag the
> result in git.
Will do (and pull in & document those other merged changes when I do).
> > + - Debian packaging updates, esp. readline6 dependency.
>
> Btw, didn't readline move to GPLv3 while we have GPLv2 code in libxfs?
Hmm, not sure, will have to look into that. The (new) dependency doesn't
specify any particular version, it just allows versions other than 5 ...
but still worth checking into.
thanks!
--
Nathan
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-09-23 0:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <777659823.265181253164106522.JavaMail.root@mail-au.aconex.com>
2009-09-17 23:08 ` [patch] xfsprogs build tweaks for Debian Nathan Scott
2009-09-22 11:57 ` Christoph Hellwig
2009-09-22 12:15 ` Christoph Hellwig
2009-09-23 0:08 ` Nathan Scott
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox