Le 2018-08-29 20:59, Matthias Runge a écrit :
On Wed, Aug 29, 2018 at 03:25:09PM +0200, Nicolas Mailhot wrote:
> I already spent a few months of work working on the Go layer, writing
> Golang-to-rpm plumbing, packaging guidelines, packaging and testing
> hundreds
> of spec files. It is finally looking like something that could end up
> in the
> distribution, even though there is still a ton of work to do
> plumbing-side
> to make Go packaging in Fedora simple and convenient. And I'd like to
> spend
> more time making this plumbing a reality.
Hi,
thanks for sharing, this is awesome.
Thanks
While I believe, EPEL is unsuitable for this kind of applications,
we
should have them in Fedora. For example prometheus is also packaged in
a
recent version in Debian, while Grafana is still at version 2.6, which
is fairly old.
This kind of "modern" application is certainly challenging due to its
deep dependency graph and the churn in those deps, sure. EPEL
as-it-exists-today is certainly unsuitable, but Fedora itself needs
changes. If we can solve the problem Fedora-side, the I'm quite sure
EPEL can change too.
Back at the time, when I looked at packaging Grafana, it already
required what felt like 100 js dependecies, where some of them were
only used at build time (for copying, concatenating files etc).
Well that's an order or magnitude less than the Go layer so it's doable.
But seriously, if the only blocker is to iterate some form of template
packaging over a huge number of components, I can do it. I just need
someone more familiar with javascript packaging in Fedora to point me to
the correct template, a couple of concrete packaging examples, and how
to compute the list of components to package.
Prometheus is already included in Fedora, in an old version. The
package
maintainer will probably accept patches and help.
This version is useless, it's not been done in unbundled mode, and the
app itself has changed and improved radically since. The packaging needs
to be redone cleanly from scratch. And I think I've done 90% of what is
necessary Go side, I need help on the js front.
(the original packager was/is doing Go in Fedora, I've worked a lot with
him those past months, I'm quite sure he wants even less to do with the
javascript bits in prometheus than me)
> I suppose this is also a test if a distribution like Fedora/Epel
can
> still
> be used to deploy the kind of apps written in 2018, or if it's
> condemned to
> fade and be replaced by other approaches like containers.
I tend to disagree here. For building containers, and I'd do that
from packages.
I agree with you in theory. But if we can't manage to package actual
complex apps like Prometheus or Grafana, that container people manage to
do, that would tend to show our theory is wrong :(
Regards,
--
Nicolas Mailhot