How does one package a multirepo project?
Hi,
I was trying to update the ipywidgets package. It once had a quite
normal upstream, but then things went wild, if not stellar : they went
monorepo.
For those lucky ones who never crossed the principle, the idea is to
have a single repository, and make dozens of different packages live
within. Basically, different directories now are different packages,
with different release schedules. At the moment,
https://github.com/jupyter-widgets/ipywidgets has 936 tags.
There are several issues at hand :
- uscan doesn't work correctly anymore, as the multiplication of tags
makes them disappear in the list quite fast ;
- and what does one want to watch exactly anyway?
- even if uscan could keep up, how does one get the source? It should
basically be a checkout of a different commit for each different
directory!
- how does one even put a version number of this for a Debian package?
(I guess something like "Provides: foo (= 3.14), bar (= 2.72)" can help
a little, but what about the main package?)
So basically my question is the one in the mail subject : how does one
package a multirepo project?
Cheers,
JP
PS: and to package the next ipywidgets, I started to work on lumino (
https://github.com/jupyterlab/lumino) with the same problem. In my
experiments I numbered the main package 0~20200824+git93880412-1...
which is not ideal.
Reply to: