Hi Thomas,

Thomas Goirand wrote:

> I don't want that it's possible to have them both at the same time. Once
> again, my package1 and package2 are the same, only dependencies are not.
> So can I write:
> 
> Package: package1
> Conflicts: package2
> Replaces: package2
> [...]
> Package: package2
> Conflicts: package1
> Replaces: package1
> Provides: package1

That should work quite well.  If any third-party packages want to depend
on either of your packages, they would just have to do "Depends:
package1" and that should pull in package1 if it isn't already
installed.  If package2 is already installed, the dependencies would
already be satisfied.  Presumably you've decided most people would
rather have package1 than package2?

One word of caution: Note that if a third-party package wanted to
declare a *versioned* dependency on package1, it would always pull in
package1 (causing package2 to be uninstalled if it was present).  This
is because virtual packages cannot satisfy versioned dependencies.

By the way, therefore if a third-party package explicitly wanted
package1 and not package2, it could do "Depends: package1 (>> 0)" to
force installation of package1.

Finally, if package1 and package2 contain a lot of files that not only
are installed at the same path/filename but also are identical, you
might want to instead stick those into a third binary package
"package1-common" and have both package1 and package2 Depend upon that.
That would save disk space on the Debian mirrors, and also save
bandwidth for people who install package1 and then later change their
minds and want package2 instead (or vice versa).

best regards,

-- 
Kevin B. McCarty <[EMAIL PROTECTED]>   Physics Department
WWW: http://www.princeton.edu/~kmccarty/    Princeton University
GPG: public key ID 4F83C751                 Princeton, NJ 08544


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to