nasty MakeMaker conversion for perl library support
authorJoey Hess <joey@kitenet.net>
Sat, 24 Jul 2010 00:19:18 +0000 (20:19 -0400)
committerJoey Hess <joey@kitenet.net>
Sat, 24 Jul 2010 00:19:18 +0000 (20:19 -0400)
Had to move zgz.pod to subdir because MakeMaker insisted in installing it
otherwise.

INSTALL [new file with mode: 0644]
Makefile.PL [moved from Makefile with 60% similarity, mode: 0755]
debian/changelog
debian/rules
pristine-tar.spec
zgz/zgz.pod [moved from zgz.pod with 100% similarity]

diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..bd3fb49
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1 @@
+Run ./Makefile.PL to generate a Makefile, then run `make` and `make install`.
old mode 100644 (file)
new mode 100755 (executable)
similarity index 60%
rename from Makefile
rename to Makefile.PL
index 9c9d805..e1958a1
--- a/Makefile
@@ -1,24 +1,47 @@
-build: zgz/zgz pristine-tar.spec
+#!/usr/bin/perl
+use warnings;
+use strict;
+use ExtUtils::MakeMaker;
+
+# Add a few more targets.
+sub MY::postamble {
+q{
+all:: extra_build
+clean:: extra_clean
+install:: extra_install
+pure_install:: extra_install
+
+extra_build: zgz/zgz pristine-tar.spec
        pod2man -c pristine-tar pristine-tar > pristine-tar.1
        pod2man -c pristine-gz  pristine-gz  > pristine-gz.1
        pod2man -c pristine-bz2 pristine-bz2 > pristine-bz2.1
-       pod2man -c zgz zgz.pod > zgz.1
+       pod2man -c zgz zgz/zgz.pod > zgz.1
 
 ZGZ_SOURCES = zgz/zgz.c zgz/bits.c zgz/deflate.c zgz/gzip.c zgz/trees.c zgz/util.c \
              zgz/old-bzip2/*.c
 zgz/zgz: $(ZGZ_SOURCES) zgz/gzip.h
        gcc -Wall -O2 -lz -o $@ $(ZGZ_SOURCES)
 
-install:
+extra_install:
        install -d $(DESTDIR)/usr/bin
        install -d $(DESTDIR)/usr/share/man/man1
        install pristine-tar pristine-gz pristine-bz2 zgz/zgz $(DESTDIR)/usr/bin
        install -m 0644 *.1 $(DESTDIR)/usr/share/man/man1
 
-clean: pristine-tar.spec
+extra_clean: pristine-tar.spec
        rm -f zgz/zgz *.1
 
 pristine-tar.spec:
        sed -i "s/Version:.*/Version: $$(perl -e '$$_=<>;print m/\((.*?)\)/'<debian/changelog)/" pristine-tar.spec
 
 .PHONY: pristine-tar.spec
+}
+}
+
+WriteMakefile(
+       NAME            => 'Pristine::Tar',
+       PREFIX          => "/usr/local",
+       MAN1PODS        => {},
+       MAN3PODS        => {},
+       PMLIBDIRS       => ["Pristine"],
+);
index 0c8f096..d231a01 100644 (file)
@@ -1,6 +1,7 @@
 pristine-tar (1.04) UNRELEASED; urgency=low
 
   * pristine-gz gengz: Bugfix: Always remove uncompressed input file.
+  * Large refactoring and modularization.
 
  -- Joey Hess <joeyh@debian.org>  Fri, 23 Jul 2010 19:16:33 -0400
 
index cbe925d..5f3257a 100755 (executable)
@@ -1,3 +1,11 @@
 #!/usr/bin/make -f
 %:
        dh $@
+
+override_dh_auto_configure:
+       # keeps it out of /usr/local
+       dh_auto_configure -- PREFIX=/usr
+
+override_dh_auto_clean:
+       # distclean moans about MANIFEST, this is quieter
+       if [ -e Makefile ]; then $(MAKE) realclean; fi
index 24c353c..a0df3e1 100644 (file)
@@ -1,5 +1,5 @@
 Name: pristine-tar
-Version: 1.03
+Version: 1.04
 Release: 2%{?dist}
 Summary: regenerate pristine tarballs
 
@@ -31,6 +31,7 @@ pristine-tar is available in git at git://git.kitenet.net/pristine-tar/
 
 
 %build
+perl Makefile.PL INSTALLDIRS=vendor PREFIX=%{_prefix}
 make %{?_smp_mflags}
 
 
similarity index 100%
rename from zgz.pod
rename to zgz/zgz.pod