[Pkg-haskell-commits] r833 - in /packages/haskell-devscripts/trunk: Dh_Haskell.pm debian/changelog debian/dirs debian/rules dh_haskell_build dh_haskell_install dh_haskell_prep

arjan at users.alioth.debian.org arjan at users.alioth.debian.org
Sun Dec 30 18:10:00 UTC 2007


Author: arjan
Date: Sun Dec 30 18:09:59 2007
New Revision: 833

URL: http://svn.debian.org/wsvn/pkg-haskell/?sc=1&rev=833
Log:
[project @ add seperate perl module]

Original author: Arjan Oosting <arjanoosting at home.nl>
Date: 2006-10-06 23:25:14+00:00

Added:
    packages/haskell-devscripts/trunk/Dh_Haskell.pm
Modified:
    packages/haskell-devscripts/trunk/debian/changelog
    packages/haskell-devscripts/trunk/debian/dirs
    packages/haskell-devscripts/trunk/debian/rules
    packages/haskell-devscripts/trunk/dh_haskell_build
    packages/haskell-devscripts/trunk/dh_haskell_install
    packages/haskell-devscripts/trunk/dh_haskell_prep

Added: packages/haskell-devscripts/trunk/Dh_Haskell.pm
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/Dh_Haskell.pm?rev=833&op=file
==============================================================================
--- packages/haskell-devscripts/trunk/Dh_Haskell.pm (added)
+++ packages/haskell-devscripts/trunk/Dh_Haskell.pm Sun Dec 30 18:09:59 2007
@@ -1,0 +1,142 @@
+# arch-tag: dh_haskell libary 
+#
+# Copyright (C) 2004 John Goerzen <jgoerzen at complete.org>
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not, write to the Free Software
+#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+
+package Dh_Haskell;
+
+use strict;
+
+use Exporter;
+use vars qw(@ISA @EXPORT %dh);
+ at ISA=qw(Exporter);
+ at EXPORT = qw(&is_handled_package &is_handled_profiling
+	     &is_profiling_enabled &dev_name &type_of_package
+	     &version_of_debpkg &version_of_type &upstream_version
+	     &profiling_name &getcabalname &getcabalversion
+	     &getcabalbasepath &getcabalpkglibpath
+	     &safesystem);
+
+sub is_handled_package {
+    my $pkgname = shift;
+    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/) {
+	return 1;
+    } elsif ($pkgname =~ m/libhugs-.+$/) {
+	return 1;
+    } else {
+	return 0;
+    }
+}
+
+sub is_handled_profiling {
+    my $pkgname = shift;
+    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-prof$/) {
+	return 1;
+    } else {
+	return 0;
+    }
+}
+
+sub is_profiling_enabled {
+    my $package = shift;
+    my $packages = shift;
+    my $profname = profiling_name($package);
+
+    foreach my $p (@{$packages}) {
+	if ($p =~ m/^$profname$/) {
+	    return 1;
+	}
+    }
+    return 0;
+}
+
+sub dev_name {
+    my $package = shift;
+    my @pn = ($package =~ m/^lib(ghc5|ghc6|nhc98|hugs)-(.+)-prof$/);
+    return "lib$pn[0]-$pn[1]-dev";
+}
+
+sub type_of_package {
+    my $pkgname = shift;
+    if ($pkgname =~ m/^libhugs-.+$/) {
+	return "hugs";
+    } else {
+	my @pn = ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-(dev|prof)$/);
+	return $pn[0];
+    }
+}
+
+sub version_of_debpkg {
+    my $pkgname = shift;
+    my $retval = `dpkg-query --show --showformat='\${Version}' $pkgname`;
+    chomp $retval;
+    return $retval;
+    }
+
+sub version_of_type {
+    my $pkgtype = shift;
+    return version_of_debpkg($pkgtype);
+}
+
+sub upstream_version {
+    my $inver = shift;
+    if ($inver =~ m/-/) {
+	my @v = ($inver =~ m/^(.+)-[^-]+$/);
+	return $v[0];
+    }
+}
+
+sub profiling_name {
+    my $package = shift;
+    my @pn = ($package =~ m/^lib(ghc5|ghc6|nhc98|hugs)-(.+)-dev$/);
+    return "lib$pn[0]-$pn[1]-prof";
+}
+
+sub getcabalname {
+    my $retval = `grep -i ^Name *.cabal | awk '{print \$2}'`;
+    chomp $retval;
+    return $retval;
+}
+
+sub getcabalversion {
+    my $retval = `grep -i ^Version *.cabal | awk '{print \$2}'`;
+    chomp $retval;
+    return $retval;
+}
+
+sub getcabalnameversion {
+    return getcabalname() . "-" . getcabalversion();
+}
+
+sub getcabalbasepath {
+    my $pkgtype = shift;
+    return "/usr/lib/haskell-packages/$pkgtype";
+}
+
+sub getcabalpkglibpath {
+    my $pkgtype = shift;
+    return getcabalbasepath($pkgtype) . "/lib/" . getcabalnameversion();
+}
+
+sub safesystem {
+    my $program = shift;
+    print "Running: $program\n";
+    system($program) == 0
+	or die "$program files: $?";
+}
+
+1

Modified: packages/haskell-devscripts/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/debian/changelog?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/debian/changelog (original)
+++ packages/haskell-devscripts/trunk/debian/changelog Sun Dec 30 18:09:59 2007
@@ -5,6 +5,8 @@
     bashims.
   * Replace dh_haskell_buildinst with simple shell script to decrease code
     duplicity. 
+  * Introduce separate perl module which contains the code shared between
+    the different dh_haskell tools.
 
  -- Arjan Oosting <arjanoosting at home.nl>  Fri,  6 Oct 2006 22:30:10 +0200
 

Modified: packages/haskell-devscripts/trunk/debian/dirs
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/debian/dirs?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/debian/dirs (original)
+++ packages/haskell-devscripts/trunk/debian/dirs Sun Dec 30 18:09:59 2007
@@ -1,3 +1,4 @@
 usr/bin
 usr/share/debhelper/autoscripts
+usr/share/haskell-devscripts
 

Modified: packages/haskell-devscripts/trunk/debian/rules
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/debian/rules?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/debian/rules (original)
+++ packages/haskell-devscripts/trunk/debian/rules Sun Dec 30 18:09:59 2007
@@ -60,7 +60,7 @@
 	pod2man dh_haskell_build > dh_haskell.1
 	cp dh_haskell dh_haskell_install dh_haskell_buildinst dh_haskell_prep dh_haskell_build debian/haskell-devscripts/usr/bin/
 	cp p*-ghc debian/haskell-devscripts/usr/share/debhelper/autoscripts/
-
+	cp Dh_Haskell.pm debian/haskell-devscripts/usr/share/haskell-devscripts
 
 
 binary-arch: build install

Modified: packages/haskell-devscripts/trunk/dh_haskell_build
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/dh_haskell_build?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/dh_haskell_build (original)
+++ packages/haskell-devscripts/trunk/dh_haskell_build Sun Dec 30 18:09:59 2007
@@ -27,6 +27,9 @@
 use strict;
 use File::Find;
 use Debian::Debhelper::Dh_Lib;
+
+use lib '/usr/share/haskell-devscripts/';
+use Dh_Haskell;
 
 =head1 SYNOPSIS
 
@@ -102,100 +105,6 @@
 
 init();
 
-sub is_handled_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/) {
-        return 1;
-    } elsif ($pkgname =~ m/libhugs-.+$/) {
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-sub type_of_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^libhugs-.+$/) {
-        return "hugs";
-    } else {
-        my @pn = ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/);
-        return $pn[0];
-    }
-}
-
-sub version_of_debpkg {
-    my $pkgname = shift;
-    my $retval = `dpkg -s $pkgname | grep -i ^Version | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-    }
-
-sub version_of_type {
-    my $pkgtype = shift;
-    return version_of_debpkg($pkgtype);
-}
-
-sub upstream_version {
-    my $inver = shift;
-    if ($inver =~ m/-/) {
-        my @v = ($inver =~ m/^(.+)-[^-]+$/);
-        return $v[0];
-    }
-}
-            
-
-sub getcabalname {
-    my $retval = `grep -i ^Name *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalversion {
-    my $retval = `grep -i ^Version *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalnameversion {
-    return getcabalname() . "-" . getcabalversion();
-}
-
-sub getcabalbasepath {
-    my $pkgtype = shift;
-    return "/usr/lib/haskell-packages/$pkgtype";
-}
-
-sub getcabalpkglibpath {
-    my $pkgtype = shift;
-    return getcabalbasepath($pkgtype) . "/lib/" . getcabalnameversion();
-}
-
-sub profiling_name {
-    my $package = shift;
-    my @pn = ($package =~ m/^lib(ghc5|ghc6|nhc98|hugs)-(.+)-dev$/);
-    return "lib$pn[0]-$pn[1]-prof";
-}
-
-sub is_profiling_enabled {
-    my $package = shift;
-    my $packages = shift;
-    my $profname = profiling_name($package);
-
-    foreach my $p (@{$packages}) {
-	if ($p =~ m/^$profname$/) {
-	    return 1;
-	}
-    }
-    return 0;
-}
-
-sub safesystem {
-    my $program = shift;
-    print "Running: $program\n";
-    system($program) == 0
-        or die "$program files: $?";
-}
-
 print "Building setup...\n";
 
 my $setup;

Modified: packages/haskell-devscripts/trunk/dh_haskell_install
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/dh_haskell_install?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/dh_haskell_install (original)
+++ packages/haskell-devscripts/trunk/dh_haskell_install Sun Dec 30 18:09:59 2007
@@ -27,6 +27,9 @@
 use strict;
 use File::Find;
 use Debian::Debhelper::Dh_Lib;
+
+use lib '/usr/share/haskell-devscripts/';
+use Dh_Haskell;
 
 =head1 SYNOPSIS
 
@@ -102,100 +105,6 @@
 
 init();
 
-sub is_handled_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/) {
-        return 1;
-    } elsif ($pkgname =~ m/libhugs-.+$/) {
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-sub type_of_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^libhugs-.+$/) {
-        return "hugs";
-    } else {
-        my @pn = ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/);
-        return $pn[0];
-    }
-}
-
-sub version_of_debpkg {
-    my $pkgname = shift;
-    my $retval = `dpkg -s $pkgname | grep -i ^Version | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-    }
-
-sub version_of_type {
-    my $pkgtype = shift;
-    return version_of_debpkg($pkgtype);
-}
-
-sub upstream_version {
-    my $inver = shift;
-    if ($inver =~ m/-/) {
-        my @v = ($inver =~ m/^(.+)-[^-]+$/);
-        return $v[0];
-    }
-}
-            
-
-sub getcabalname {
-    my $retval = `grep -i ^Name *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalversion {
-    my $retval = `grep -i ^Version *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalnameversion {
-    return getcabalname() . "-" . getcabalversion();
-}
-
-sub getcabalbasepath {
-    my $pkgtype = shift;
-    return "/usr/lib/haskell-packages/$pkgtype";
-}
-
-sub getcabalpkglibpath {
-    my $pkgtype = shift;
-    return getcabalbasepath($pkgtype) . "/lib/" . getcabalnameversion();
-}
-
-sub profiling_name {
-    my $package = shift;
-    my @pn = ($package =~ m/^lib(ghc5|ghc6|nhc98|hugs)-(.+)-dev$/);
-    return "lib$pn[0]-$pn[1]-prof";
-}
-
-sub is_profiling_enabled {
-    my $package = shift;
-    my $packages = shift;
-    my $profname = profiling_name($package);
-
-    foreach my $p (@{$packages}) {
-	if ($p =~ m/^$profname$/) {
-	    return 1;
-	}
-    }
-    return 0;
-}
-
-sub safesystem {
-    my $program = shift;
-    print "Running: $program\n";
-    system($program) == 0
-        or die "$program files: $?";
-}
-
 print "Building setup...\n";
 my $setup;
 for my $candidate (qw(Setup.lhs Setup.hs)) {

Modified: packages/haskell-devscripts/trunk/dh_haskell_prep
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-devscripts/trunk/dh_haskell_prep?rev=833&op=diff
==============================================================================
--- packages/haskell-devscripts/trunk/dh_haskell_prep (original)
+++ packages/haskell-devscripts/trunk/dh_haskell_prep Sun Dec 30 18:09:59 2007
@@ -27,6 +27,9 @@
 use strict;
 use File::Find;
 use Debian::Debhelper::Dh_Lib;
+
+use lib '/usr/share/haskell-devscripts/';
+use Dh_Haskell;
 
 =head1 SYNOPSIS
 
@@ -102,96 +105,6 @@
 
 init();
 
-sub is_handled_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-dev$/) {
-        return 1;
-    } elsif ($pkgname =~ m/libhugs-.+$/) {
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-sub is_handled_profiling {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-prof$/) {
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-sub dev_name {
-    my $package = shift;
-    my @pn = ($package =~ m/^lib(ghc5|ghc6|nhc98|hugs)-(.+)-prof$/);
-    return "lib$pn[0]-$pn[1]-dev";
-}
-
-sub type_of_package {
-    my $pkgname = shift;
-    if ($pkgname =~ m/^libhugs-.+$/) {
-        return "hugs";
-    } else {
-        my @pn = ($pkgname =~ m/^lib(ghc5|ghc6|nhc98|hugs)-.+-(dev|prof)$/);
-        return $pn[0];
-    }
-}
-
-sub version_of_debpkg {
-    my $pkgname = shift;
-    my $retval = `dpkg -s $pkgname | grep -i ^Version | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-    }
-
-sub version_of_type {
-    my $pkgtype = shift;
-    return version_of_debpkg($pkgtype);
-}
-
-sub upstream_version {
-    my $inver = shift;
-    if ($inver =~ m/-/) {
-        my @v = ($inver =~ m/^(.+)-[^-]+$/);
-        return $v[0];
-    }
-}
-            
-
-sub getcabalname {
-    my $retval = `grep -i ^Name *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalversion {
-    my $retval = `grep -i ^Version *.cabal | awk '{print \$2}'`;
-    chomp $retval;
-    return $retval;
-}
-
-sub getcabalnameversion {
-    return getcabalname() . "-" . getcabalversion();
-}
-
-sub getcabalbasepath {
-    my $pkgtype = shift;
-    return "/usr/lib/haskell-packages/$pkgtype";
-}
-
-sub getcabalpkglibpath {
-    my $pkgtype = shift;
-    return getcabalbasepath($pkgtype) . "/lib/" . getcabalnameversion();
-}
-
-sub safesystem {
-    my $program = shift;
-    print "Running: $program\n";
-    system($program) == 0
-        or die "$program files: $?";
-}
-
 print "Generating meta-information...\n";
 
 foreach my $package (@{$dh{DOPACKAGES}}) {




More information about the Pkg-haskell-commits mailing list