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

Re: cmdliner 1.0.0 uses topkg for building



On 18 July 2017 at 14:09:36, Ximin Luo (infinity0@debian.org) wrote:

> In Debian they have to go in two separate source packages, because the distributed nature  
> of package building means (if it were in a single source package) we can't run the build  
> for topkg, run the build for cmdliner (another package), then run the build for topkg-care.

I don't think anyone suggested that. If you do not want to follow opam's exact packaging structure it is your duty to figure out how you want to handle that rather than come on the upstream issue tracker shouting that the build structure is circular.


> Then, maintenance of two identical source packages requires more work than maintaining  
> two different source packages:

They should of course not be treated as *identical*. It seems that most of the problem you mention come from 
that idea.


> As for automation, it remains to be seen whether we want to map 1 opam package to 1 Debian 
> package, or to map 1 git repo containing many opam packages to 1 Debian package. The downside  
> of the first approach is similar to the above points. Also the overhead of Debian packaging  
> is more than opam packaging (it takes care of more things) so if people want to do left-pad  
> in ocaml it might be better to group those together in Debian. The second approach would  
> be easy to automate in the case that whole-git-repos do not form cyclic dependencies  
> with other whole-git-repos. 

I don't understand why you are talking about git repos. Tarballs are the source of releases. I'm not a debian packager but I also see a lot of packages in debian itself that I presume are based on the same tarballs (e.g. dev and non-dev) packages.


> - If you release {tokpg,topkg-care} v0.8 then v0.9, but in v0.9 topkg-care actually  
> did not change at all and was exactly the same as in v0.8, this makes it harder to resolve  
> dependencies. Something that uses topkg-care >= v0.9 can actually be satisified by  
> v0.8, but opam wouldn't know this.

You are trying to make things more complex than they are here. topkg and topkg-care must always be used with identical versions. This is enforced in the opam files which are machine readable and from which you can infer your constraints.


> I could construct more examples by spending more time, but they all point to the general  
> principle that this sort of arrangement is really not worth it. On your side, what do you  
> think you gain from it?

This is explained here: 

https://github.com/dbuenzli/topkg/blob/master/DEVEL.md

It is not my intention to multiply packages that behave like this and I actually remain largely unconvinced using this solution for replacing depopts, a move that is being promoted now in opam but that I don't see as a viable long term solution. However this is sometimes needed for being able to bootstrap OCaml infrastructure tools that are not part of OCaml but very early in the whole dependency cone.


> Would you like to provide us with a list of your "trigger phrases" such as "circular dependency"  
> and "intuition" that cause you to completely shut down, assume the person writing it  
> is "out to get you", and go into panic-defense-mode?

It should be entirely sufficient for you to try to improve on your interpersonal communication skills. As far as I'm concerned, given your style and behaviour yesterday on topkg's issue tracker, I'm no longer interested in interacting with you for the time being.

Best, 

Daniel



Reply to: