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

Re: lmodern fonts and sarge



frank@kuesterei.ch (Frank Küster) wrote:

> Fine. It seems that dpkg now in which order to unpack packages. So it's
> fine with lmodern.

I think it is actually apt that knows. dpkg only does what apt tells him
to do. (that is why I said in my n-2 mail that I was using the apt
method in dselect... however, noone uses anything else than the apt
method since years now).

> And this means that in this other case, arabtex, we needn't be afraid of
> doubled dist-upgrade runs, or doubled debconf phases. It will just go
> smoothly if tetex Conflicts with arabtex <= 3.10-5.

*If* the new version of arabtex can be unpacked while the old tetex is
still here. Remember:
  1. old arabtex & old tetex are installed
  2. Unpacking new arabtex...
  3. Unpacking new tetex...
  4. Setting up new arabtex...
  5. Setting up new tetex...

You have to make sure that 2 will work. "The new arabtex can be unpacked
while tetex 1 is installed" is easier to achieve than "the new arabtex
must work with tetex 1" and would be sufficient for all this to work, I
think. But in this case, the new arabtex should not forget to depend on
tetex-* (>= 2).

To be accurate, the order of 4 and 5 will be reversed if arabtex depends
on tetex-* (>= 2) as mandated by Policy and verified in the test below.

[foo is supposed to be equivalent to arabtex and bar to a tetex package]

% dpkg -s foo bar
Package: foo
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 36
Maintainer: Florent Rougon <f.rougon@free.fr>
Version: 1.0-1
Depends: bar (>= 1)
Description: dummy package for experiments
 foo is a dummy package for experiments with dpkg, apt, etc.

Package: bar
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 32
Maintainer: Florent Rougon <f.rougon@free.fr>
Version: 1.0-1
Description: dummy package for experiments
 bar is a dummy package for experiments with dpkg, apt, etc.

# dselect update
[...]

# dselect select
[nothing evil]

# dselect install
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded:
  bar foo
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 3638B of archives.
After unpacking 0B of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 copy: sid/binary-all/ foo 1.1-1 [1774B]
Get:2 copy: sid/binary-all/ bar 1.1-1 [1864B]
Fetched 3638B in 0s (0B/s)
(Reading database ... 79773 files and directories currently installed.)
Preparing to replace foo 1.0-1 (using .../apt/archives/foo_1.1-1_all.deb) ...
Unpacking replacement foo ...
Preparing to replace bar 1.0-1 (using .../apt/archives/bar_1.1-1_all.deb) ...
Unpacking replacement bar ...
Setting up bar (1.1-1) ...
Setting up foo (1.1-1) ...
Do you want to erase any previously downloaded .deb files? [Y/n] 

% dpkg -s foo bar
Package: foo
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 32
Maintainer: Florent Rougon <f.rougon@free.fr>
Version: 1.1-1
Depends: bar (>= 1.1)
Description: dummy package for experiments
 foo is a dummy package for experiments with dpkg, apt, etc.

Package: bar
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 36
Maintainer: Florent Rougon <f.rougon@free.fr>
Version: 1.1-1
Conflicts: foo (<< 1.1)
Description: dummy package for experiments
 bar is a dummy package for experiments with dpkg, apt, etc.

That's OK. In the "dselect install" stage, the unpacking order is still
the same as in my previous message (because bar 1.1-1 conflicts with foo
(<< 1.1), I think) but this time, bar is configured before foo because
foo 1.1-1 depends on bar (>= 1.1). That was expected:

,----[ Policy on the Depends relation ]
| This declares an absolute dependency. A package will not be configured
| unless all of the packages listed in its Depends field have been
| correctly configured.
`----

> I also noticed that the old lmodern package could have the same problem
> as arabtex:

Yes.

> Also in lmodern, it's a directory, not a link. I don't know how I could
> even install it without dpkg complaining. Anyway, as soon as the new
> lmodern package is in the archive, we should conflict with older
> versions.

Well, I received the "lmodern_0.86-7_i386.changes is NEW" message on the
29th of January, so one can hope it will hit the archive around the 5th
of February...

-- 
Florent



Reply to: