On Tue, Feb 12, 2019 at 11:03 AM Miro Hrončok <mhroncok(a)redhat.com> wrote:
On 12. 02. 19 10:47, Brian (bex) Exelbierd wrote:
>
>
> On Tue, Feb 12, 2019 at 10:17 AM Tom Hughes <tom(a)compton.nu
> <mailto:tom@compton.nu>> wrote:
>
> So basically the module squad have managed to ensure that everything
> that relies on ant to build is going to have to modularise or else be
> forced out of the distribution then...
>
> Fortunately that only includes one thing of mine and that's just some
> java bindings that I can drop but forcing libreoffice out of Fedora
on
> the hill of modularisation will certainly be an achievement of sorts.
>
>
> They say the easiest way to learn the right answer is to post the wrong
answer
> on the internet. Here is my “wrong” answer that I hope someone will
correct so
> my context on this thread is correct.
>
> As a user who wants to run a piece of software:
>
> * I can run software like LibreOffice in a flatpak that works like a
container
> (not identically) and I can get it via a dnf-like command line tool or
the GUI
> software store. When I run the app I can’t tell it is in a flatpak. If
the app
> isn’t graphical I can generally achieve the same effect with a container
and
> some knowledge of container runtime configuration.
>
> * I can enable a module that provides the software using a dnf command.
At that
> point the dnf command installs the software as though it was in the
“everything”
> repo. Once the enable command is run I can’t tell that the software is
delivered
> as a module.
>
> As a developer who relies on a dependency that is module only:
>
> * I can build in containers and on my local machine by enabling the
module. This
> causes dnf and dependency installs to work as though the contents of the
module
> were in the “everything” repo.
>
> * Today, I cannot build packages for the “everything” repo that have
runtime or
> build dependencies on modules. Work is being done to allow build
dependencies
> that are in a module to be used.
>
> Overall, as a user, to a large degree, the delivery mechanism (rpm,
> container/flatpak, and module) doesn’t affect me, except briefly at
install.
>
> Overall, as a developer, today if my dependencies are modules, I have to
build a
> module. Tomorrow if my runtime dependencies are modules I have to build
a
(anchor)
> module, but otherwise I can build an “everything” repo rpm. I can
deliver via
> container or flatpak today no matter what.
>
> As a system administrator, if my machines have internet access I may
have to
> learn a few new commands, but it all works. If my machines are getting
their
> software indirectly, my experience will vary based on whether my
indirection
> server can handle modules, flatpaks and containers.
>
> Is this close to right?
Pretty much, with one subtle difference.
It' not tomorrow (see: anchor). It's in undefined future. And we are
breaking
things now, before that future comes. Not for the first time.
I believe that we do not allow things to break because of packages being
completely moved out into modules. See the nodejs in f29 example: even
though we have a nodejs:10 module, there are still nodejs 10 packages in
the Everything so they are available in the buildroot. Once we fix the
problem and add default module streams to the buildroot, we can set the
nodejs:10 module as a default and remove the traditional packages from the
Everything repo.
Please note that for local builds that's already functional. The only thing
you need to do is to add the Modular repo to your mock config. (We haven't
done that by default as it wouldn't be consistent with the infra builds.)
The Modularity Team is now working on enabling that in the infra. People
might have seen discussions around something called "ursa-major" that could
to that, but it wasn't a very popular solution, so we're working on an
alternative. But this is a priority.
(I know anyone can unbreak it by claiming the packages, but
that's not the
point
here.)
I might be missing something here, so excuse me if that's obvious, but
wouldn't this happen without Modularity anyway? I mean, how does Modularity
relate to packages being orphaned? Or is that because they have been moved
out into modules and their maintainers stopped building them for Everything?
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel(a)lists.fedoraproject.org
To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org
Fedora Code of Conduct:
https://getfedora.org/code-of-conduct.html
List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
--
Adam Šamalík
---------------------------
Software Engineer
Red Hat