Re: Golang SIG primary goals?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Just to get people thinking before the meet…

IMHO, the core objective of the SIG should be to maintain a consistent self-hosting up-to-date baseline of Go software in rpm form, that can then be used to build other forms of Fedora deliverables (flatpacks, coreos images, etc)

That implies:
— continuing to improve the go/rpm plumbing
(packager time should be spent on fixing project-specific problems, not writing lots of generic automatable declarations)
– getting one form of Go packaging guidelines approved by FPC
– producing a package set that conforms to the above
– refreshing periodically the set (at least one mass rebuild/version refresh per Fedora release). – reporting upstream everything that fails in the set to raise the bar on the bits we package, gain legitimacy and provide value to upstream – ideally also work on fixes but just identifying and reporting problems regularly would be a huge first step – scrapping all the Fedora Go packages that do not comply. Not a fan of zero defect approaches but there is a point where keeping lots of obsolete/non conformant packages discourages old and new packagers alike

I don't really see the point of producing another set of bundled/containerized/imaged Go software, there are lots of them on the market, the drawbacks are increasingly well known (lots of rotting insecure third party code squirreled away inside the bundled sets), I'd rather have a smaller breadth of software that can demonstrate a software engineering approach than lots of half-assed packages that muddle waters and satisfy no one. Though given how Go software in massively reusing other code even focusing on a small set of apps will require a huge number of packages.

The areas that need work short term are:

A packaging

B cleaning up and consolidating guidelines (need to spread the load as it is quite soul crushing work).

C defining an org to import sets of Go packages within the SIG. Get approval to whatever changes in the Fedora process necessary to review and import easily apps spread over hundreds of packages (the Fedora process is really not geared towards apps that reuse hundreds of other projects and require hundreds of packages imported as a set)

D investigate vgo:
  1. get POC support in go-macros (go-compiler & go-srpm-macros)
  2. test if the result can be used :
— are the module definitions written upstream forward-facing or locking specific version we can not use – Go devs could not write a dep engine that worked like the rest of the software world, rpm included, does it matter in practice if dependency declarations written for the Go dep engine are dumped in the rpm dep engine, that follows differing resolution rules 3. decide if we adopt vgo or not. If yes, probably easier to define how to write Fedora-friendly module definitions for projects that lack them than try to support an hybrid set of packages (with and without module defs). Module defs can be upstreamed as part of the packaging

E investigate automation of build requires (other SIGs did it but there's no support in rpm syntax for it, you need to talk to mock over a socket ie code a specific utility)

D. finishing a working baseline for Fedora Next, then rebase EPEL on it and forget about the past (the Go non compiler parts in EPEL have rotten to much for anyone to use, and I don't see anyone willing to invest the effort that would be required to salvage them in an evolutionary way, just accept it, get an exemption, and reboot from working Fedora state)

I could spend some time on most of those (though I'd rather pass on B, already done my part, and D/E would be the most fun and probably the most useful for the rest of the SIG).

However, my initial objectives were to produce clean prometheus and grafana Fedora packages, I finished the Go part a few months ago, but they both include a javascript layer, so I'll probably have to spend part of my packaging time on the js front. I'd really prefer if someone started a javascript SIG I could offload those to, I really don't have the cycles to progress quickly on packaging rules and tooling for two separate programming languages.

Regards,

--
Nicolas Mailhot
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux