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

Mixing Debian releases the easy way - HowTo - questions



I'm trying to put together a howto, and could use your input.
I've assembled a procedure, and some references- do you have any
suggestions?

My persoal goal is to have the procedure to run a Woody system,
with all the latest KDE packages pulled from Sid.
But, this procedure could be used for many packages other than KDE.

The 1st level goal here is to have a way to:

  install a Woody system
  set up some method, such as APT::Default-Release "testing"; or pinning
  Use that method to pull the "kde" metapackage, "kde", from unstable
  Have a way to do
    apt-get update; apt-get upgrade
    that will
      get everything upgraded from their proper locations, ie:
      upgrade all the installed & depended kde packages from unstable,
        as appropriate
      upgrade any other woody packages from woody, as appropriate

What is the best, or at least very good,
  (simple to comprehend, setup, do;
   as powerful as necessary;
   reliable)
way to do this?
I am particularly concerned about ensuring apt-get upgrade works properly,
and simply - ie,
  not having extra-normal things to do for the person doing the upgrade.

================================================================
>From the following references section, it seems that the immediately
following procedure might do this, but I have some concerns:

  /etc/apt/apt.conf gets the following line:
    APT::Default-Release "testing";

    [Note: On my several months old Woody install,
    in /etc/apt I have no file called apt.conf .
    I do have there a directory apt.conf.d that has one file in it:
      70debconf
    In this case, what I exactly need to do is create the file
    /etc/apt/apt.conf, and put in it only the following line, correct?
      APT::Default-Release "testing";]

  And, to install a package do:
    apt-get install <package>/unstable
  [in my case:
    apt-get install kde/unstable]

is a very simple way to get the correct packages installed.

My main as yet unanswered concern is:
Will that also do the upgrade of packages properly?
  (The asnwer to that was not clear to me.
   The question may have been triggered
   by comments from Chris Halls, below.)

That's my main question.  What's the answer?

================================================================
[The "Mixing Debian releases the easy way" HowTo will be a component of my
KDE-Debian HowTo for KDE2 & Debian3=Woody X86.  Recent version here:
http://lists.debian.org/debian-kde/2002/debian-kde-200202/msg00097.html

Gustavo: A definitive version of this topic should also probably be put
into the APT HowTo:
http://www.debian.org/doc/manuals/apt-howto/index.en.html
You could probably do a whole chapter on pinning & APT::Default-Release
and how to pull packages, and apt-get upgrade properly,
replacing your current section 3.7.  :) ]

Robert & Donald:  Please see my questions to you, below.

References (these are slightly edited, mostly deletions for conciseness):
==========================================================================
==========================================================================

From: Grant Bowman <grantbow@svpal.org>
Subject: Pinning Unstable: Woody use of Evolution

For all those that are using Woody but would like to sometimes run a few
packages from Sid, this fix works like a charm.

/etc/apt/preferences

Package: *
Pin: release a=unstable
Pin-Priority: 50

/etc/apt/sources.list

deb http://http.us.debian.org/debian unstable main contrib non-free

What will these lines do?  Pinning the priority of unstable to 50 makes
it so that these packages are never automatically selected for upgrade.
The sources.list line is needed so that packages that are not in woody
are installed with `apt-get evolution` (for example).  Dependencies are
handled correctly and the system remains on Woody packages with the
exceptions of the explicitly loaded ones.

=======================================
From: Christoph Martin <martin@uni-mainz.de>
Subject: apt-show-versions

apt-show-versions is a script which eases maintenance of mixed
stable/testing or testing/unstable systems. While beeing able to
update the packages from your *main* distribution with apt-get upgrade
it is quite difficult to do the same for the *not-main*
packages. While you can use the pinning feature of apt if these are
only a few it is quite annoying to put all the package names in
apt/preferences which should be pinned. Like in one of my installation
where I have 247 packages from stable and 229 from testing.

Try

  apt-show-versions | fgrep /testing | wc

to see how many packages you have from testing or

  apt-show-versions -u

to see a list of packages which are upgradeable either to stable or
testing or unstable or

  apt-get install `apt-show-versions -u -b | fgrep unstable`

to upgrade all unstable packages to their newest versions.
==========================================================================

From: Robert McQueen <robot101@debian.org>
Subject: Mixing Debian releases the easy way

As well as the more powerful (and complicated) release pinning method
featured in a previous release of DWN, apt in woody and sid also
supports a simpler method of achieving the same thing, with the poorly
documented 'APT::Default-Release' configuration option. To do this, add
a line such as:

     APT::Default-Release "testing";

to /etc/apt/apt.conf, and add both testing and unstable lines to
/etc/apt/sources.list. Then when you upgrade, dist-upgrade or install,
apt will only consider packages from testing by default. If you then use
a command like:

     apt-get install <package>/unstable

it will install the package version found in unstable, as well as any
libraries and other dependencies from unstable that are required to
install it.

==========
Robert:  Will this then upgrade packages properly with:
  apt-get update
  apt-get upgrade

=======================================
From: Jens Hoffrichter <joho@hausboot.org>
Subject: Re: Debian Weekly News - January 23rd, 2002

This can be done even more comfortable by using the -t switch to
apt-get, which will even satisfy dependencies to unstable, what the
use of packagename/unstable does not do.

The correct (and frequently used by myself ;)) ) call would be:

apt-get -t unstable install <package>
==========================================================================

Re: How pull packages from unstable to a Woody system?
From: "Donald R. Spoon" <dspoon@satx.rr.com>

The subject of "pinning" has been discussed several times late last year
on this list and on the Debian-Users list.  There were several different
alternatives offered, and I don't have any idea if one is better than
the other.  I chose one and implemented it here, and it has worked ok
for me.  Here is what I did:

1.  Add the "unstable" lines to your /etc/apt/sources.list file.  An
easy way for me to do this is to duplicate your existing "testing"
lines via a "copy & paste" and then edit the new lines by changing all
instances of "testing" to "unstable".  I find this minimized my typos.

2.  Create an empty /etc/apt/preferences file if it isn't already there
(touch /etc/apt/preferences), and populate it with the lines below. Or
you can paste in an already pre-made file you got from somewhere via
E-Mail or FTP.  The bottom line is you want to have a
/etc/apt/preferences file that look something like this:

Package: *
Pin: release a=testing
Pin-Priority: 777

Package: *
Pin: release a=unstable
Pin-Priority: 333

3.  I suggest you read the docs to get a feel for what all this means
and the other commands available.  (man apt_preferences)  This is a bit
of a heavy read, but it is worth it.

4. Run "apt-get update".  This will now get the lists from BOTH
"testing' and "unstable" on your machine.

5.  If you run a "apt-get upgrade" it will just upgrade all packages
from "testing" and whatever packages from "unstable" you have already
installed.

6.  If you install a new package with "apt-get install <package name>,
it will ALWAY install the "testing" version.

6.  If you want to install a SPECIFIC package from "unstable" just run
  "apt-get -t unstable install <package name>".  In the case of
installing kghostview from unstable the command would be "apt-get -t
unstable install kghostview".

There are other methods and other recommended "Pin-Priority" numbers
discussed in the previously mentioned messages.  You might want to
review them to see all your options.   All I can say is this particular
method has worked quite well for me during the last 2-3 months.

Donald:  Does this do the "apt-get upgrade" properly?
==========================================================================

Re: How pull packages from unstable to a Woody system?
From: Chris Halls <chris.halls@nikocity.de>

I've got a couple of additional suggestions:

On Sun, Jan 27, 2002 at 09:57:17AM -0600, Donald R. Spoon wrote:
> 2.  Create an empty /etc/apt/preferences file if it isn't already there
> (touch /etc/apt/preferences), and populate it with the lines below. Or
> you can paste in an already pre-made file you got from somewhere via
> E-Mail or FTP.  The bottom line is you want to have a
> /etc/apt/preferences file that look something like this:
>
> Package: *
> Pin: release a=testing
> Pin-Priority: 777
>
> Package: *
> Pin: release a=unstable
> Pin-Priority: 333

It may be simpler to suggest this instead:

2. To select testing as the default release for apt to install packages
from, add the following line to /etc/apt/apt.conf:

APT::Default-Release "testing";

> 4. Run "apt-get update".  This will now get the lists from BOTH
> "testing' and "unstable" on your machine.

Add a comment:

After this, you will probably see lots of new packages available to apt.
These are the packages that are currently only available in unstable and
have not yet migrated to woody, because of architecture issues, bugs or
simply because they are too new.  Use with caution!

>
> 6.  If you want to install a SPECIFIC package from "unstable" just run
>  "apt-get -t unstable install <package name>".  In the case of
> installing kghostview from unstable the command would be "apt-get -t
> unstable install kghostview".

Or, if you prefer front ends try aptitude.  It is possible to select a
package version other than the default: Select a package, press Enter tosee
the package detail.  The available versions are listed at the bottom of the
screen, and you can press '+' to select a version to install.  Press Enter
on that version, and you can see what dependencies also need to be
installed/upgraded to make this version work.
==========================================================================

Re: mozilla-0.9.7+ in woody?
From: Svante Signell <svante.signell@telia.com>
Date: Sat, 26 Jan 2002 03:28:25 +0100
Cc: Debian-Devel <debian-devel@lists.debian.org>

Sorry for confusing things. I'm running testing (i.e. woody) i think!?

Tried to do as indicated by you and the link given. However, even though
/etc/apt/sources.list is updated when apt-get update is run,
apt-show-versions -u does not reveal any new packages to upgrade.

/etc/apt/preferences contains
Package: *
Pin: release a=unstable
Pin-Priority: 50

Something is missing here, what?

DvB writes:
 > Svante Signell <svante.signell@telia.com> writes:
 >
 > > Just wandering,
 > >
 > > I'm running stable on one box (the gateway) and unstable on
 > > another. The mozilla version for stable (0.9.5) is ugly and a memory
 > > hog. Any hope for 0.9.7+ in stable? I'd really like to use Galeon (or
 > > Mozilla++), but it is not available with 0.9.5. What to to, switch to
 > > unstable. Other alternatives?
 > >
 >
 > This was meant to be used with woody, but it might also work with
 > stable:
 >
 > http://www.debian.org/News/weekly/2002/1/mail#1
 >
 > you'll probably also want to add the following line, or something
 > similar, to your /etc/apt/apt.conf:
 >
 > APT::Default-Release "stable";


__________________________________________________
Do You Yahoo!?
Send FREE Valentine eCards with Yahoo! Greetings!
http://greetings.yahoo.com



Reply to: