[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Upgrading a single package to testing...am I doing this right?

Neal Lippman wrote:
> I need to upgrade just a single package (Fetchmail) on my file server
> from stable to testing, because I have run into a bug on the version in
> stable which I an hoping is fixed in the version in testing. I don't
> necessarily want to upgrade the entire system to testing unless there is
> a good reason to do so, just on the principle of not rocking the boat on
> something that is working.

You have a reasonable grip on things.

> If I understand the apt howto correctly, what I need to do is add to
> /etc/apt/apt.conf the line:
> APT::Default-Release "stable"

Pinning is generally not a good thing.  It *will* pull in all
dependencies which usually means all of the shared libraries.  Since a
large part of the system is really shared libraries that means that
when you do this you have effectively upgraded to testing/unstable
when doing that.  Plus you are running a mixmatch of software which is
unique to your individual system and untested in that combination by
anyone else.

> Does that seem correct? If not, what should I do instead?

For a simple package like fetchmail you should backport it to your
stable host.  For fetchmail it is a little interesting because it
build-depends upon a newer version of autoconf than is available in
woody.  Normally this following would work.

As root:

  apt-get build-dep fetchmail

As a normal user:

  fakeroot apt-get source -b fetchmail

Now that you have built a deb install it.

  dpkg -i fetchmail_*.deb

But for the current incarnation of fetchmail it has a build-depends on
autoconf >= 2.54 which seems unfortunate since it is not really needed
to build as an end user, just to develop as a developer.  Do this.
This worked fine for me.  YMMV.  I use 'sudo' and only those lines
need or should be run as root.  But I will forgive you if you do run
the entire sequence as root.  But try not to make that habit forming.

  sudo apt-get install devscripts
  sudo apt-get build-dep fetchmail
  fakeroot apt-get source fetchmail
  cd fetchmail-*
  emacs.nvi.vim debian/control  # delete (>= 2.54) from autoconf build dep
  debuild -uc -us
  cd ..
  sudo dpkg -i fetchmail_*.deb

If you feel good with the above steps then you should also edit the
debian/changelog and make an entry for yourself showing that you
changed the package.  I would reduce the package version one level so
that this hacked package is guarenteed to be replaced by the official
one if the official one were a valid candidate.  But if it is just for
you own use then I don't think anyone would fault you for just doing
the minimum to get the package running on your system.


Attachment: pgpMEshZvgxLz.pgp
Description: PGP signature

Reply to: