Hello, On Fri, Dec 02, 2005 at 01:22:55AM -0600, Ming Hua wrote:
> One package I maintain (libscim8 from scim) is going through the c2->c2a > C++ ABI transition. I have two questions about the dependency handling > in such a transition: > 1. Raised by my sponsor - Should I add g++ (>= 4.0.2-4) to the > Build-Depends? I did not do so, and my sponsor asked why not. The only > reason I could find was from the previous c102->c2 transition plan [1]: > "Please don't add build dependencies on g++ (>= 4.0) or build-essential > (>= 11)", there is no such instruction this time. > One thing I can think of is that adding g++ (>= 4.0) or (>= 4.0.2-4) > actually prevent building the package with g++-3.4, although they have > the same ABI as the g++-4.0. But that doesn't explain when I shouldn't > build-depend build-essential (>= 11). And I agree with my sponsor that > such dependency avoids accidently building them with wrong ABI. So can > somebody explain why such dependency is not desired? It's not desired because it's unnecessary: all of the buildds have been updated to use the new toolchain version, and adding this build-dependency would just make it harder for people to backport your package to a previous ABI version (hopefully changing the package name, of course). So to keep packaging simple, maintainers are encouraged not to add such build-dependencies. > 2. Once the library package is built with the new ABI, should I tighten > the build-dependency of the application packages that depend on the > transitioned library? Tightening the build-dependency will again ensure > that the package is built with the correct ABI, but it also makes the > package unbuildable in an old pre-transition environment even with the > old libraries. As the plan is to binNMU these application packages, it > seems a tightened build-dependecy is not urgent after all, but are they > preferred eventually? Not preferred at all; again, this complicates backporting of packages for those who have a reason to do so. Since your application does not *need* the new version of the library in order to be built, it helps certain use cases if you don't use the Build-Depends: field to specify the libraries that you *want* the package to build with. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
signature.asc
Description: Digital signature