De: "Jakub Cajka"
It could be literaly anything as EPEL(read also as RHEL 7) and
Fedora(27/Rawhide) are quite
different distributions(looking at packages available and their versions).
Well I had to package most of the first-level deps myself, and rebuilt the next-level deps
in EPEL to rawhide's level, though I'm sure I missed some bits and didn't have
the time yet to verify all the deps are at the same level.
I tested once or twice by wiping everything but the spec files, spectooling sources, and
rebuilding everything from scratch. So the specs should be sufficient by themselves to
reproduce.
If you can share build output (and spec file), we should be able to
tell more.
No problem, here they are. The aim of the pile of packages is to build the prometheus snmp
exporter. It works flawlessly in EPEL/7 but fails in rawhide with
./main.go:120:14: cannot use kingpin.CommandLine (type *kingpin.Application) as type
*flag.FlagSet in argument to "github.com/prometheus/common/log".AddFlags
WARNING 1
The specs depend on custom macros because I was sick to death of the boilerplate in Fedora
Go spec files (too error-prone for my fat fingers). That makes the specs easier to read
but not to build right now. I hoped to play a little more with the macros before
submitting them to public review. So happy review, I hope you like the result:).
You can not build the packages if the srpm macros are not available when the build system
first reads the spec file. For my needs I just add the package name to the
config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
mock line, I didn't check how to do it in koji yet.
The right way to do this would be to merge the macros in the golang package, make it
export an srpm-macros subpackage, and add the subpackage to the buildsys-build group. That
would also gift you the maintainership of the result in my so cunning plan, sorry about
the surprise, I did expect to introduce you the idea some other way :).
WARNING 2
There is a dependency loop in the set, golang-github-sirupsen-logrus needs building with
bootstrap the first time (I hope I got the Fedora bootstraping conventions right)
All tips, remarks and technical criticism are welcome.
WARNING 3
There are some common_description remnants in the specs. They serve no particular purpose.
They are leftovers from the time I created unit test subpackages, before I decided I
wanted to run the tests in check but not to ship the unit test files once the build is
done.
Regards,
PS
It would be nice if the golang packages were published in a centos or epel repo. Right now
you have to fish them directly from the centos koji instance. And yes I also have access
to paid-for RHEL7 packages.
--
Nicolas Mailhot