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

Re: Support for dynamic libraries



On March 17, 2010 12:55:25 Joachim Breitner wrote:
> Because if we’d put the whole ghc6 package name there, upon a ghc6
> transition, even a minor one like 6.12.1 → 6.12.2
>  * we could not binNMU the library package but would have to manually do
> sourceful uploads of each package, adjusting the package name.
>  * each upload would pass through NEW
>
> So the cost involved would be just too much.
>
> (AFAIK, the names of the packages must not be changed during a regular
> build.)

I did some more reading of various Debian documents, and I can see how passing 
through NEW would be a problem.  I'm not sure I'm understanding your binNMU 
comment though.  Are you just saying then that you can't binNMU derived 
packaged after a GHC version change, if the version is in the package name 
(i.e., the same problem -- change in package name pushes it through NEW).

In any event, I was thinking some more about it and might have solution:

 - stick with the libghc6-*-dyn package as is (no version in the name)
 - add a libghc6-*-dyn-old package automatically generated by combining the 
contents of the previous libghc6-*-dyn and libghc6-*-dyn-old packages

This way all the previous versions (you could limit how many versions if you 
wanted) are available in the libghc6-*-dyn-old package, so upgrading to the 
latest libghc6-*-dyn package does not have to force a reinstalling of all 
dynamic binaries on the system, thus breaking the synchronization problem.

If the hash was included in the directory names, this scheme would even make 
it possible to have multiple versions for the same compiler version.  In effect 
you would be doing the same thing as is done with C libraries (i.e., one 
package contains the routines for several ABI versions, except the 
differentiating is done at the directory level instead of inside the library).

According to the FTP masters' FAQ,

http://ftp-master.debian.org/REJECT-FAQ.html

it is okay to make a target to update the control file (i.e., to update the 
build dependency) as long as it is not fired automatically.  You would just 
manually run it before uploading the source package.

Cheers!  -Tyson

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: