Hi, Thanks for your email and sorry about this… This is quite a long story, but those deletion notifications (as a matter of fact, 5 packages from the `(ocaml-)merlin` dependency tree are “affected”) now remind me I was only half-way through before I had to go… First thing is that I did not use AUR PKGUILDs for any of those packages for two reasons: 1. I missed them in the first place, because I did look for `ocaml-merlin` only /sigh/ —especially to end up with the name `merlin` for the package after more carefully looking at OCaml packaging guidelines— and then was clearly tired (did that between 10 p.m. and 2 a.m., on and before a day I had other things to do) and just started to recursively package anything needed I could not find in our repos, without checking at AUR once again… This has actual consequences that I need to address btw (regarding version numbers). 2. I mostly never use AUR PKGBUILDs anyway when pushing to [community], unless they are things that are hard to figure when trying to build, because their quality is generally poor. Now, I actually spent almost 4 hours for writing those PKGBUILDs “correctly” (in the sense of having them build in a [community]-suitable way), so I can definitively agree that it is not just a `./configure; make; make install` thing (and even worse than that, there is actually a `./configure` in `merlin`, but it is not `autotools` one… And most mjambon’s libs had strange `make` targets and no install ones… since his switch to `dune/jbuilder` for his projects. Reminded me of that FOSDEM talk on “How to make package managers cry”…). So actually finding the AUR package (well finding them earlier, because I did find `dune` afterwards and wrote somewhere I should look at that) would have helped me a lot, because that was quite painful indeed (especially finding how to pass flags during `make` and which ones where supported). That being said, I’m perfectly fine in adding you to the “credits”, and by the way don’t really care about that tag (I only care about the `Maintainer` tag being accurate, because it is useful for some tools like repology). On the technical side of things, you’ve raised some concerns: 1. Why is there no dependency on `ocaml`? 2. Why is there no dependency on `opam`? 3. Why is there no optional runtime dependency on `ocaml-find`? 4. What is going on with the versioning scheme? And here are some answers: 1. That’s a perfectly valid concern. I admit having not given many thought about it and mostly went with what `namcap` returned. I cannot find a case where it would be useful without it, so I’m adding it to dependencies, thanks. 2. While I was working on the packaging of `dune`, I did not noticed it needed `opam` for some actions. I did when trying to build mjambon’s libs, and he kindly sent me toward https://github.com/ocaml/dune/issues/372 (from https://github.com/mjambon/easy-format/pull/20, which is something I’ve also forgotten to do for the other ones). So I hope for `opam` to not be required anymore in the future, at least for my use of `dune`, but in the meantime I will add it to the dependencies. 3. Well I did not thought about putting it there since it was already in my `makedepends` array for my mjambon’s libs PKGBUILDs (as per OCaml packaging guidelines). But now that I look at it again, those `makedepends` arrays are basically `(ocaml-findlib dune opam)`, so moving this as well as `opam` to `dune` dependencies totally makes sense. Hard dependency, that is. 4. That’s a more though point. Your (well actually upstream’s) versioning scheme is actually not valid for a PKGBUILD, because `1.0+beta17` is in fact an higher version number than `1.0`, and thus would have required an epoch when updating to the final release. That being said, since your package does exist, this also means my version number is not higher than AUR’s one, which is not necessarily a good practice (and actually they are similar issues because of pkgrel for the other ones). They are two solution, with one minor variation: either we tell people to manually install the [community] one over the AUR one, or we add an `epoch`, which can be then done either now (and then keeping “my” —as a matter of fact the standard for this kind of things— versioning scheme) or when 1.0 final is released by moving to your versioning scheme. Any opinion on this? BTW, you have also made me notice I forgot to enable tests in `dune` and `cppo` (but I did latter in `merlin` and `ocaml-*`). So at this point you have definitively earned your `Contributor` tag if you care about it. ;) (And please read below if you even want the `Maintainer` one, that’s possible) And thanks for mentioning `ocp-build`, because as a matter of fact in my attempt to package `merlin`, I was also after `ocp-indent` and thus `ocp-build`, already added them in my staging directory and thus missed to check AUR again, but stopped there because of time. Seems like `ocp-indent` is not there, but I’m already interested by your `ocp-build` would it be just because it carry a patch with it, containing something I would probably not have thought about, or its clear indication that I will have to look carefully at that `./configure`… ;) And for what is worth, I’m actually not doing any development in OCaml, but we have very recently switched to it for some algorithm teaching in France (from caml-light, for which we have been the only users I believe for the past 20 years…), and for some reasons not relevant for this discussion I needed proper support for OCaml in my editor (and the student’s ones). So that’s why I’m packaging all this, but otherwise don’t care at all about OPAM and such because we are not going to use anything outside of the standard. But if you are interested in packaging them and maybe other things for ArchLinux, you might consider applying for TU in which case I’d be OK to be your sponsor, since you will likely do a better maintainer than I do for those OCaml packages, at least on the ocaml building side. :) Regards, Bruno P.S.: I have exactly the same issue as you when it comes to people interpreting my mood by reading my writing, so I totally understand that. Hint: I’ve learned that adding smileys, even if it might not look very “professional“, helps a lot. ;) Le 19/02/2018 à 17:03, Jakob Gahde a écrit :
FWIW, great to have this in community. Not so great that a deletion request is the first thing that informs me about this and even less so to have somebody else run off with the work that I put into figuring out how to make this piece of software install correctly and only add a few mostly cosmetic changes for good measure, without even a mention. The process isn’t just './configure; make; make install'; at least for me it took a while to figure everything out, and I’m not exactly a newbie to all the crazy stuff that OCaml people tend to use in their build infrastructure. While I’m at it, I wonder what the purpose is behind not depending on OCaml for a tool aimed at building OCaml software. Secondly, OPAM is run automatically on most invocations of dune to my knowledge, so I believe depending on it is somewhat reasonable. And lastly, the sources of dune happen to mention in plain English that dune can make use of ocamlfind as an optional runtime dependency[1]. So much for my reasoning on the dependencies, I would have been happy to explain this earlier if someone had let me. Forgive me if I’m a little upset, but when the new community package even goes out of it’s way to provide compatibility with the versioning scheme I used on the jbuilder package before it was renamed to dune, I just don’t understand why not even a little heads-up à la “BTW this package is now in community” was possible. Personally, I even left a contributor line saying “Your Name <youremail@domain.com>” untouched in one of the packages I adopted, just to let people know that I’m not the only person who ever invested time in that package (namely ocp-build).
tl;dr I know that in written form my thoughts tend to come off as being more furious than I actually am, and while I do in fact not like what I believe went on, what I really want you, Bruno, to take away from this is just „Please be a little more communicative in the future” :)
Have a nice day Jakob Gahde aka J5lx
[1] https://github.com/ocaml/dune/blob/1.0%2Bbeta17/jbuilder.opam#L17-L22
On Mon, 19 Feb 2018, at 15:34, notify@aur.archlinux.org wrote:
mis [1] filed a deletion request for dune [2]:
in [community] https://www.archlinux.org/packages/community/x86_64/dune/
[1] https://aur.archlinux.org/account/mis/ [2] https://aur.archlinux.org/pkgbase/dune/