On Thu, Jun 8, 2017 at 8:13 PM, Tom Hughes <tom@compton.nu> wrote:
On 08/06/17 18:54, Matthew Miller wrote:
On Thu, Jun 08, 2017 at 06:48:27PM +0100, Tom Hughes wrote:
I mean it would probably still be quite daunting for somebody that
did want to get into more detail I guess but I think I wound up
there following through from some of the other stuff about arbitrary
branching and I was mostly just trying to see what changes I (as a
packager largely avoiding modularity) might find it impossible to
avoid and that was just the point at which I decided I wasn't likely
to find anything useful to that goal there and bailed out.

Tom, you work on Node stuff, right?  Do you think any of this might be
useful for packaging and maintaining that in Fedora?

Well from what I understand I don't see how it will help with any of the problems that we have internally with packaging Node stuff.

I mean assuming you're talking about the node interpreter and node libraries (ie modules but I'll avoid that name as it will be confusing here) all being part of a Fedora module then I don't see how it helps at all because the issue with node packaging is the number of dependencies within the node stack and the rate of change of those dependencies.

I can imagine the artificial branching that is coming with modularity could be beneficial for you. It will give you the possibility of having package branches with specific end of life and "support or quality level".

You say that you deal with a large number of dependencies that keep changing. How often these changes happen? What if you could - and this is just my idea - create a package of lower quality in a specific branch (which would take less time), and explicitly say so. You could then use the package just as a dependency of your thing. And when the dependencies change and the package is no longer needed, you can just dump it. That's fine because you said it's just for you.

And I don't want to make it sound like the main selling point of modularity is bad packaging... :-) Another example: You want to add a package to Fedora that you just need as a dependency. Two bad things can happen:

1/ The package is already there, but in a different version. You can't just change it.
2/ You add the package and other people start to use it. That's great until you need to change the version, but can't, because other people started to use it as a dependency and it would break their stuff.

Modularity with artificial branching will solve both problems.

Is any of this relevant to you?
PS: I also call Python modules libraries... I guess nothing we do is necessarily final. And that might include naming things.


Tom Hughes (tom@compton.nu)


Adam Šamalík
Software Engineer
Red Hat