[Pkg-puppet-devel] puppet-module-puppetlabs-stdlib ready for NEW-Queue

Stig Sandbeck Mathisen ssm at debian.org
Sun Sep 1 09:59:34 UTC 2013


Thomas Bechtold <thomasbechtold at jpberlin.de> writes:

> I uploaded puppetlabs-stdlib to alioth. See
> http://anonscm.debian.org/gitweb/?p=pkg-puppet/puppet-module-puppetlabs-stdlib.git;a=summary

Excellent.

I took the liberty of adding a "pristine-tar" branch from the tarball
available at https://forge.puppetlabs.com/puppetlabs/stdlib, I'll push
that back to the repository.

I'll also add it to the .mrconfig file in the "meta.git" repository
(which is completely optional)

> Can you review the package and upload it to the new queue if you are
> happy with the current version?

A few comments:

##############################

The "Depends: puppet-common" should be versioned to support puppet
version 3 and up, see https://forge.puppetlabs.com/puppetlabs/stdlib for
the version matrix for that module.

##############################

Running "uscan" results in an error:

> uscan --verbose --force-download                                                          
-- Scanning for watchfiles in .                         
-- Found watchfile in ./debian
-- In debian/watch, processing watchfile line:
   https://forge.puppetlabs.com/puppetlabs/stdlib/(.+).tar.gz
-- Found the following matching hrefs:
     /puppetlabs/stdlib/4.1.0.tar.gz
     /puppetlabs/stdlib/4.1.0.tar.gz
     /puppetlabs/stdlib/4.1.0.tar.gz
dpkg: warning: version '/4.1.0' has bad syntax: version number does not start with digit
Newest version on remote site is /4.1.0, local version is 4.1.0
dpkg: warning: version '/4.1.0' has bad syntax: version number does not start with digit
 => Forcing download as requested
-- Downloading updated package 4.1.0.tar.gz
-- Successfully downloaded updated package 4.1.0.tar.gz
    and symlinked puppet-module-puppetlabs-stdlib_/4.1.0.orig.tar.gz to it
-- Scan finished


The following proposed change makes it check for the right string, and
rename the downloaded file.

diff --git a/debian/watch b/debian/watch
index 443ba3e..876988a 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,3 @@
-  version=3
-  https://forge.puppetlabs.com/puppetlabs/stdlib/(.+).tar.gz
+version=3
+opts=filenamemangle=s{/([^/]+)/([^/]+)/([^/]+.tar.gz)}{$1-$2-$3} \
+https://forge.puppetlabs.com/puppetlabs/stdlib /puppetlabs/stdlib/(.+).tar.gz



##############################

Since "dh" is used, I think that using dh_install's ".install" file may
be better than adding separate calls the "dh_install" in the makefile.
Example diff:

diff --git a/debian/puppet-module-puppetlabs-stdlib.install b/debian/puppet-module-puppetlabs-stdlib.install
new file mode 100644
index 0000000..f8311d9
--- /dev/null
+++ b/debian/puppet-module-puppetlabs-stdlib.install
@@ -0,0 +1,5 @@
+Modulefile    usr/share/puppet/modules.available/puppetlabs-stdlib
+metadata.json usr/share/puppet/modules.available/puppetlabs-stdlib
+manifests     usr/share/puppet/modules.available/puppetlabs-stdlib
+lib           usr/share/puppet/modules.available/puppetlabs-stdlib
+tests         usr/share/puppet/modules.available/puppetlabs-stdlib
diff --git a/debian/rules b/debian/rules
index c0f132b..cbe925d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,14 +1,3 @@
 #!/usr/bin/make -f
 %:
        dh $@
-
-PUPPET_MODULE_DIR="usr/share/puppet/modules.available/puppetlabs-stdlib/"
-
-override_dh_install:
-       dh_install Modulefile $(PUPPET_MODULE_DIR)
-       dh_install metadata.json $(PUPPET_MODULE_DIR)
-       dh_install manifests $(PUPPET_MODULE_DIR)
-       dh_install lib $(PUPPET_MODULE_DIR)
-       #dh_install spec $(PUPPET_MODULE_DIR)
-       dh_install tests $(PUPPET_MODULE_DIR)
-       dh_install

##############################

Installing the package breaks with:

Setting up puppet-module-puppetlabs-stdlib (4.1.0-1) ...
update-alternatives: using /usr/share/puppet/modules.available/puppetlabs-stdlib to provide /usr/share/puppet/modules/stdlib (puppet-module-stdlib) in auto mode
update-alternatives: error: error creating symbolic link `/usr/share/puppet/modules/stdlib.dpkg-tmp': No such file or directory
dpkg: error processing puppet-module-puppetlabs-stdlib (--configure):
 subprocess installed post-installation script returned error exit status 2

This is due to the "puppet-common" package not containing the
"/usr/share/puppet/modules" directory. This is a bug in the
"puppet-common" packaging.

I'll add that to the puppet packaging, and push a new release.

> I would go ahead with other packages if nobody complains about the
> general structure of the package (ie. package name, debhelper 8
> compatible,

Why 8 instead of 9? To make backports easier?

> using update-alternatives for module namespace collisions,
> pkg-puppet-devel at lists.alioth.debian.org as maintainer, long
> description format, using git-buildpackage, ...)

-- 
Stig Sandbeck Mathisen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-puppet-devel/attachments/20130901/8e269675/attachment.sig>


More information about the Pkg-puppet-devel mailing list