Installing 0.24.8 as gem on Debian

2 views
Skip to first unread message

Graham Stratton

unread,
Mar 24, 2009, 11:40:08 PM3/24/09
to puppet...@googlegroups.com
I have just tried to install puppet 0.24.8 as a gem on a clean Debian
Lenny system. The puppetd script is not added to my path. Is this a
bug or have I made a mistake?

Full transcript attached.

Regards,

Graham

The programs included with the Debian GNU/Linux system are free
software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Amazon EC2 Debian 5.0 lenny AMI built by Eric Hammond
http://alestic.com http://ec2debian-group.notlong.com

domU-12-31-39-00-ED-D5:~# sudo apt-get update
-bash: sudo: command not found
domU-12-31-39-00-ED-D5:~# apt-get update
Get:1 http://security.debian.org lenny/updates Release.gpg [197B]
Ign http://security.debian.org lenny/updates/main Translation-en_US
Ign http://security.debian.org lenny/updates/contrib Translation-en_US
Ign http://security.debian.org lenny/updates/non-free Translation-en_US
Get:2 http://security.debian.org lenny/updates Release [40.8kB]
Get:3 http://security.debian.org lenny/updates/main Packages [64.7kB]
Get:4 http://http.us.debian.org lenny Release.gpg [386B]
Ign http://http.us.debian.org lenny/main Translation-en_US
Ign http://http.us.debian.org lenny/contrib Translation-en_US
Ign http://http.us.debian.org lenny/non-free Translation-en_US
Get:5 http://security.debian.org lenny/updates/contrib Packages [14B]
Get:6 http://security.debian.org lenny/updates/non-free Packages [14B]
Get:7 http://http.us.debian.org lenny Release [63.2kB]
Get:8 http://http.us.debian.org lenny/main Packages [5295kB]
Get:9 http://http.us.debian.org lenny/contrib Packages [76.1kB]
Get:10 http://http.us.debian.org lenny/non-free Packages [100kB]
Fetched 5640kB in 19s (285kB/s)
Reading package lists... Done
domU-12-31-39-00-ED-D5:~# apt-get install rubygems
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
irb1.8 libreadline-ruby1.8 rdoc1.8 rubygems1.8
Suggested packages:
graphviz ruby1.8-dev rubygems-doc
The following NEW packages will be installed:
irb1.8 libreadline-ruby1.8 rdoc1.8 rubygems rubygems1.8
0 upgraded, 5 newly installed, 0 to remove and 4 not upgraded.
Need to get 1164kB of archives.
After this operation, 2757kB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://http.us.debian.org lenny/main libreadline-ruby1.8
1.8.7.72-3 [264kB]
Get:2 http://http.us.debian.org lenny/main irb1.8 1.8.7.72-3 [303kB]
Get:3 http://http.us.debian.org lenny/main rdoc1.8 1.8.7.72-3 [377kB]
Get:4 http://http.us.debian.org lenny/main rubygems1.8 1.2.0-3 [164kB]
Get:5 http://http.us.debian.org lenny/main rubygems 1.2.0-3 [56.6kB]
Fetched 1164kB in 0s (5410kB/s)
Selecting previously deselected package libreadline-ruby1.8.
(Reading database ... 16786 files and directories currently installed.)
Unpacking libreadline-ruby1.8 (from .../libreadline-
ruby1.8_1.8.7.72-3_i386.deb) ...
Selecting previously deselected package irb1.8.
Unpacking irb1.8 (from .../irb1.8_1.8.7.72-3_all.deb) ...
Selecting previously deselected package rdoc1.8.
Unpacking rdoc1.8 (from .../rdoc1.8_1.8.7.72-3_all.deb) ...
Selecting previously deselected package rubygems1.8.
Unpacking rubygems1.8 (from .../rubygems1.8_1.2.0-3_all.deb) ...
Selecting previously deselected package rubygems.
Unpacking rubygems (from .../rubygems_1.2.0-3_all.deb) ...
Processing triggers for man-db ...
Setting up libreadline-ruby1.8 (1.8.7.72-3) ...
Setting up irb1.8 (1.8.7.72-3) ...
Setting up rdoc1.8 (1.8.7.72-3) ...
Setting up rubygems1.8 (1.2.0-3) ...
Setting up rubygems (1.2.0-3) ...
domU-12-31-39-00-ED-D5:~# gem install puppet
Successfully installed facter-1.5.4
Successfully installed puppet-0.24.8
2 gems installed
Installing ri documentation for puppet-0.24.8...
Installing RDoc documentation for puppet-0.24.8...
Could not find main page README
Could not find main page README
Could not find main page README
Could not find main page README
domU-12-31-39-00-ED-D5:~# which puppetd
domU-12-31-39-00-ED-D5:~# updatedb
-bash: updatedb: command not found
domU-12-31-39-00-ED-D5:~# apt-get install locate
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
locate
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 149kB of archives.
After this operation, 332kB of additional disk space will be used.
Get:1 http://http.us.debian.org lenny/main locate 4.4.0-2 [149kB]
Fetched 149kB in 0s (259kB/s)
Selecting previously deselected package locate.
(Reading database ... 17032 files and directories currently installed.)
Unpacking locate (from .../locate_4.4.0-2_i386.deb) ...
Processing triggers for man-db ...
Setting up locate (4.4.0-2) ...
domU-12-31-39-00-ED-D5:~# updatedb
domU-12-31-39-00-ED-D5:~# locate puppetd
/var/lib/gems/1.8/bin/puppetd
/var/lib/gems/1.8/bin/puppetdoc
/var/lib/gems/1.8/gems/puppet-0.24.8/bin/puppetd
/var/lib/gems/1.8/gems/puppet-0.24.8/bin/puppetdoc
/var/lib/gems/1.8/gems/puppet-0.24.8/conf/freebsd/puppetd
/var/lib/gems/1.8/gems/puppet-0.24.8/conf/solaris/smf/puppetd.xml
/var/lib/gems/1.8/gems/puppet-0.24.8/conf/solaris/smf/svc-puppetd
/var/lib/gems/1.8/gems/puppet-0.24.8/man/man8/puppetd.8
/var/lib/gems/1.8/gems/puppet-0.24.8/man/man8/puppetdoc.8
/var/lib/gems/1.8/gems/puppet-0.24.8/test/executables/puppetd.rb

Russ Allbery

unread,
Mar 25, 2009, 12:09:35 AM3/25/09
to puppet...@googlegroups.com
Graham Stratton <gra...@mocomedia.net> writes:

> I have just tried to install puppet 0.24.8 as a gem on a clean Debian
> Lenny system. The puppetd script is not added to my path. Is this a
> bug or have I made a mistake?

Gem and real distribution packages collide in unfortunate ways that make
it hard to support gems within distribution packaging and maintain the
guarantees of distribution packaging in sane ways (such as "everything in
/usr/bin is owned by a package"). I suspect that you're encountering one
of those problems.

It's generally better, on Debian systems, to use the standard Puppet
packages. There isn't a 0.24.8 package yet, but I suspect there will be
fairly quickly. Once there is, although it will be uploaded for Debian
sid, you can download it from packages.debian.org and install it on an
older Debian system.

--
Russ Allbery (r...@stanford.edu) <http://www.eyrie.org/~eagle/>

Eric Gerlach

unread,
Mar 25, 2009, 8:28:13 AM3/25/09
to puppet...@googlegroups.com

As a point of reference, it took about 2-3 weeks for 0.24.7 to get packaged.
You'll have to get it from the experimental repository, though.

Cheers,

--
Eric Gerlach, Network Administrator
Federation of Students
University of Waterloo
p: (519) 888-4567 x36329
e: eger...@feds.uwaterloo.ca

Kyle Cordes

unread,
Mar 25, 2009, 10:30:35 AM3/25/09
to puppet...@googlegroups.com
Eric Gerlach wrote:

> As a point of reference, it took about 2-3 weeks for 0.24.7 to get packaged.
> You'll have to get it from the experimental repository, though.

It's not hard to whip up your own package though, if you don't mind it
being a bit ugly:


Grab the Puppet source.

Grab the .diff from the 0.24.7 debian package

Apply the .diff

Fix any conflicts from the .diff

Make any changes you want (like removing the potentially toxic "-w 0")

Hack up the debian/* files a bit, adding a changelog entry to get the
right version # in place.

dpkg-buildpackage -rfakeroot


The difference between this, and what a real maintainer does, is that a
real maintainer has a deep understanding of how the package at hand fits
together with the rest of the Debian world, and makes additional changes
(and performs additional testing etc.) to "Debianize" the package more.

--
Kyle Cordes
http://kylecordes.com

Ryan Steele

unread,
Mar 27, 2009, 9:26:20 AM3/27/09
to puppet...@googlegroups.com

I didn't have to download any diffs. Here's what I did:

1. Grab the source tarballs for 0.24.7 and 0.24.8. Untar the 0.24.7
tarball and then rename the tarball to 0.24.7.orig.tar.gz

2. Grab the debian directory for 0.24.7 from git (git clone
git://git.debian.org/git/pkg-puppet/puppet.git) and put it in the 0.24.7
source tree.

3. cd in to the 0.24.7 source tree, and do a dpkg-buildpackage -rfakeroot

4. run 'uupdate -u puppet-0.24.8.tgz', and then cd into the newly
created 0.24.8 source tree

5. tweak the debian/control and sub root's name for yours, and run
dpkg-buildpackage -rfakeroot again to create the 0.24.8 package.


I just did this yesterday, so it's fresh in my mind.

Kyle Cordes

unread,
Mar 27, 2009, 9:33:43 AM3/27/09
to puppet...@googlegroups.com
Kyle Cordes wrote:

>> Apply the .diff


Ryan Steele wrote:

> I didn't have to download any diffs. Here's what I did:

> 2. Grab the debian directory for 0.24.7 from git (git clone

> git://git.debian.org/git/pkg-puppet/puppet.git) and put it in the 0.24.7
> source tree.

Ah. That diff I applied, did the same as this.


> 4. run 'uupdate -u puppet-0.24.8.tgz', and then cd into the newly
> created 0.24.8 source tree

Every time I touch this stuff I learn something new. For example, just
this second I learned (from your message) of the existence of "uupdate".
I'll give it a try next time I need to update a Debian package to a
newer upstream version.

Ryan Steele

unread,
Mar 27, 2009, 9:49:28 AM3/27/09
to Puppet Users
Yeah, it's handy for sure. Although, it doesn't work when there are
sufficiently complex diff's. Luckily, it's always worked for Puppet
on my end. The Debian New Maintainers' Guide has a blurb about it:
http://www.debian.org/doc/maint-guide/ch-update.en.html

Glad to have imparted the knowledge unto others that was once imparted
unto me. :)

Eric Gerlach

unread,
Apr 1, 2009, 9:04:28 AM4/1/09
to puppet...@googlegroups.com
Kyle, Ryan,

I'd love it if those instructions made it into the Wiki. The uupdate thing
would be hugely helpful to some other Debian administrators, I'm sure.

Cheers,

Eric

Nigel Kersten

unread,
Apr 1, 2009, 11:53:39 AM4/1/09
to puppet...@googlegroups.com
I actually did this yesterday, and it's easier than that.

$ mkdir ~/makepuppetdeb
$ cd ~/makepuppetdeb
$ dget http://ftp.de.debian.org/debian/pool/main/p/puppet/puppet_0.24.7-1.dsc
$ wget http://reductivelabs.com/downloads/puppet/puppet.0.24.8.tgz
(currently broken, but I imagine will be resolved soon)
$ dpkg-source -x puppet_0.24.7-1.dsc
$ cd puppet-0.24.7/
$ uupdate puppet-0.24.8.tgz
$ cd ../puppet-0.24.8
$ dpkg-buildpackage

This will produce:

~/makepuppetdeb/puppet_0.24.8-1_all.deb
~/makepuppetdeb/puppetmaster_0.24.8-1_all.deb
--
Nigel Kersten
nig...@google.com
System Administrator
Google, Inc.

Nigel Kersten

unread,
Apr 1, 2009, 12:53:36 PM4/1/09
to puppet...@googlegroups.com
On Wed, Apr 1, 2009 at 8:53 AM, Nigel Kersten <nig...@google.com> wrote:
> I actually did this yesterday, and it's easier than that.
>
> $ mkdir ~/makepuppetdeb
> $ cd ~/makepuppetdeb
> $ dget http://ftp.de.debian.org/debian/pool/main/p/puppet/puppet_0.24.7-1.dsc
> $ wget http://reductivelabs.com/downloads/puppet/puppet.0.24.8.tgz

Correction, this line should be:

$ wget http://reductivelabs.com/downloads/puppet/puppet-0.24.8.tgz

Ryan Steele

unread,
Apr 1, 2009, 1:10:29 PM4/1/09
to Puppet Users
You're not properly setting your name in the control/changelog file
this way. I'd like to put a mixture of both of our processes on the
wiki - if I can't do so already, I'll bug jamtur to give me access.

On Apr 1, 12:53 pm, Nigel Kersten <nig...@google.com> wrote:
> On Wed, Apr 1, 2009 at 8:53 AM, Nigel Kersten <nig...@google.com> wrote:
> > I actually did this yesterday, and it's easier than that.
>
> > $ mkdir ~/makepuppetdeb
> > $ cd ~/makepuppetdeb
> > $ dgethttp://ftp.de.debian.org/debian/pool/main/p/puppet/puppet_0.24.7-1.dsc
> > $ wgethttp://reductivelabs.com/downloads/puppet/puppet.0.24.8.tgz
>
> Correction, this line should be:
>
> $ wgethttp://reductivelabs.com/downloads/puppet/puppet-0.24.8.tgz
>
>
>
> > (currently broken, but I imagine will be resolved soon)
> > $ dpkg-source -x puppet_0.24.7-1.dsc
> > $ cd puppet-0.24.7/
> > $ uupdate puppet-0.24.8.tgz
> > $ cd ../puppet-0.24.8
> > $ dpkg-buildpackage
>
> > This will produce:
>
> > ~/makepuppetdeb/puppet_0.24.8-1_all.deb
> > ~/makepuppetdeb/puppetmaster_0.24.8-1_all.deb
>
> >> e: egerl...@feds.uwaterloo.ca

James Turnbull

unread,
Apr 1, 2009, 5:29:58 PM4/1/09
to puppet...@googlegroups.com
Ryan Steele wrote:
> You're not properly setting your name in the control/changelog file
> this way. I'd like to put a mixture of both of our processes on the
> wiki - if I can't do so already, I'll bug jamtur to give me access.
>

Ryan

You don't need to bug me. :) All you need to do is create an account
and hack away. There is already a PuppetDebian page I believe.

Regards

James Turnbull

--
Author of:
* Pro Linux Systems Administration
(http://www.amazon.com/gp/product/1430219122/)
* Pulling Strings with Puppet
(http://www.amazon.com/gp/product/1590599780/)
* Pro Nagios 2.0
(http://www.amazon.com/gp/product/1590596099/)
* Hardening Linux
(http://www.amazon.com/gp/product/1590594444/)

signature.asc

Nigel Kersten

unread,
Apr 7, 2009, 8:08:45 PM4/7/09
to puppet...@googlegroups.com
On Wed, Apr 1, 2009 at 10:10 AM, Ryan Steele <Ryan.G...@gmail.com> wrote:

You're not properly setting your name in the control/changelog file
this way.  I'd like to put a mixture of both of our processes on the
wiki - if I can't do so already, I'll bug jamtur to give me access.

It does actually. The uupdate step automatically puts in "* New upstream release" to the changelog.

You might want to tweak versions etc to match internal nomenclature so you don't interfere with upstream packages, but that's it.
 
Reply all
Reply to author
Forward
0 new messages