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

Re: Go (golang) packaging, part 2

On Wed, Jan 30, 2013 at 09:22:12AM +0100, Michael Stapelberg wrote:

> >  3. Software packages from Apt cannot declare dependencies against
> >     language-specific packages, for the same reasons highlighted in
> >     #1.
> Irrelevant argument in our case, as outlined earlier in the
> discussion.

 That's not quite true.

 If a Debian package uses a service (think database, webserver,
 etc) provided by a laguage-specific package, you cannot declare
 such dependency because Apt doesn't have visibility into the
 other system's information.

 At that point you are in the Rubygems situation, where you have
 to start packaging the language-specific packages for Debian.
 You get into trouble when rubygems sees package-0.0.1 installed
 (and managed by dpkg) and the user installs (via gems)
 application-1.0.0 which declares a dependency on package-0.1.0.

 Now what would you expect to happen?

 rubygems tells dpkg to upgrade package-0.0.1?  What about the
 other stuff managed by dpkg which depends on package-0.0.1?

 rubygems installs package-0.1.0 on its own?  What happens to
 package-0.1.0 managed by dpkg?

 What happens if application-1.0.0 gets packaged for dpkg?
 Should it be handed over from one system to the other?

 Should rubygems packages be hidden from dpkg, let the two
 systems coexist in parallel?

 This situation gets so messy, that some Ruby developers prefer
 to _not_ install ruby via dpkg at all.  And they get mad when
 something in the dependency chain pulls Ruby into the system.


Reply to: