> 
> --- tetex.info.orig   2005-04-27 12:26:41.000000000 +0900
> +++ tetex.info        2006-03-07 03:21:57.000000000 +0900
> @@ -2,7 +2,7 @@
>  Package: tetex%type_pkg[-nox]
>  Type: -nox (boolean)
>  Version: 3.0
> -Revision: 1
> +Revision: 2
>  GCC: 3.3
>  Description: Complete distribution of the TeX typesetting system
>  Depends: %N-base (= %v-%r), texinfo, debianutils, texi2html
> @@ -14,12 +14,14 @@
>   (%type_raw[-nox] = .) openmotif3
>  <<
>  Conflicts: <<
> - system-tetex, bundle-tetex, 
> - (%type_raw[-nox] = -nox) tetex-base (<= 2.0.2-24)
> + system-tetex, tetex, tetex-nox, ptex, ptex-nox,
> + (%type_raw[-nox] = -nox) tetex-base (<= 2.0.2-24),
> + (%type_raw[-nox] = -nox) ptex-base (<= 3.1.3-7)
>  <<
>  Replaces: <<
> - bundle-tetex,
> - (%type_raw[-nox] = -nox) tetex-base (<= 2.0.2-24)
> + tetex, tetex-nox, ptex, ptex-nox,
> + (%type_raw[-nox] = -nox) tetex-base (<= 2.0.2-24),
> + (%type_raw[-nox] = -nox) ptex-base (<= 3.1.3-7)
>  <<
>  Provides: bundle-tetex
>  Recommends: detex, ifmslide, latex2html, pdfscreen, pdfslide, ppower4, 
> tex4ht, texpower

foo Depends on foo-base and Conflicts/Replaces against bar
bar Depends on bar-base and Conflicts/Replaces against foo
foo-base Conflicts/Replaces against bar-base
bar-base Conflicts/Replaces against foo-base

The dpkg and fink cannot handle the above situation, while apt can
handle it as you want. This problem affects even current version of
tetex package: only apt can switch switch tetex and tetex-nox.
Workaround:

Conflicts: <<
 system-tetex, tetex, tetex-nox, ptex, ptex-nox,
 (%type_raw[-nox] = -nox) tetex-base (>= 0),
 (%type_raw[-nox] = .) tetex-nox-base,
 ptex-base (>= 0), ptex-nox-base
<<
Replaces: <<
 tetex, tetex-nox, ptex, ptex-nox,
 (%type_raw[-nox] = -nox) tetex-base (>= 0),
 (%type_raw[-nox] = .) tetex-nox-base,
 ptex-base (>= 0), ptex-nox-base
<<

Then we make users happier. Assume that you have installed
tetex-nox and tetex-nox-base.

1. What does NOT work:

$ dpkg -i tetex-base_*.deb tetex_*.deb
First, dpkg finds that installed tetex-nox Conflicts against
tetex-base. Then dpkg refuses installing tetex-base. Second, dpkg
finds that tetex Conflicts/Repaces against tetex-nox and
tetex-nox-base. Then dpkg removes tetex-nox and tetex-nox-base.
Third, dpkg tries to install tetex but finds that one of its
dependencies (i.e. tetex-base) already failed the installation.
Then dpkg gives up installing tetex. Postcondition:
- tetex-nox-base, tetex-nox and tetex-base are not installed
- tetex is unpacked but not configured
- Second trial of dpkg -i tetex-base_*.deb tetex_*.deb succeeds

$ dpkg -i ptex-base_*.deb ptex_*.deb
Same as the above.

2. What does work:

$ dpkg -i tetex_*.deb tetex-base_*.deb
First, dpkg finds that tetex Conflicts/Replaces against tetex-nox and
tetex-nox-base. Then dpkg removes tetex-nox and
tetex-nox-base. Second, dpkg tries to install tetex and looks for 
tetex's dependencies from the given arguments and finds tetex-base.
Then dpkg successfully installs tetex-base and tetex.

$ dpkg -i ptex_*.deb ptex-base_*.deb
Same as the above.

$ fink install tetex
Since fink APPENDs tetex-base_*.deb, dpkg can install tetex and
tetex-base.

$ fink install tetex-base tetex
Since fink REORDERs its arguments to dependencies-later order, dpkg
can install tetex and tetex-base.


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to