"making progress" ;-)
Post by DigimerPost by DigimerPost by DigimerPost by DigimerHi all,
I'm trying to get DRBD 9 on Fedora 28 (which I'm using as a dev
platform ahead of RHEL 8 beta). The DRBD that ships with the kernel is
8.4.10.
I've been struggling to build the 9.0.15rc1 RPM without luck. I've
made a few progressions (ie: added kernel-rpm-macros, kernel-devel and
elfutils-devel to BuildRequires).
Has anyone managed to build DRBD9 on Fedora 27+? If so, would you mind
sharing the src.rpm or .spec?
Thanks!
digimer
Following up with additional info;
The problem is in this loop;
https://github.com/LINBIT/drbd-9.0/blob/master/drbd-kernel.spec#L84
It causes the arch to be appended twice;
The "kernel_source" macro is the offender here,
and is defined by the "%kernel_module_package" macro.
The "flavors_to_build" macro may play a role as well,
also defined by that same macro, likely just a line before.
the kernel_source macro on rhel used to expect a "default" flavor,
and would "filter that out", but append a .$flavor for any other flavor.
possibly the "verrel" subcommand of the kmodtool script is an other
place to apply a fix, to strip out the first .x86_64 there,
maybe by adding it to the "known variants" list.
or maybe you could just tell rpmbuild or the top level spec
that the kernel source directory is /usr/src/kernels/4.17.7-200.fc28
and have the macro append the .x86_64 just that once.
that would be, or at least used to be in rhel,
usr/lib/rpm/redhat/macros and usr/lib/rpm/redhat/kmodtool
if you really want to dig into it, you could compare
the kernel_module_package macro and kmodtool scripts
between rhel (where it apprently still works?) and current fedora
(where it does not/no longer work).
I had a lot of "fun" in the past fighting those magic scripts and macros
to get them to actually do what they where supposed to do in the first
place, on various occasions, more than I can recount the details on,
but I remember that rhel5, 6, 7, suse, and some other rpm based distros
have all been broken differently at one time or the other
in kernel_module_package and/or kmodtool.
Post by DigimerPost by DigimerPost by Digimer====
+ for flavor in default
++ '[' default = default ']'
+ make -C /usr/src/kernels/4.17.7-200.fc28.x86_64.x86_64 modules_install
M=/home/digimer/rpmbuild/BUILD/drbd-9.0.15rc1/obj/default
make: *** /usr/src/kernels/4.17.7-200.fc28.x86_64.x86_64: No such file
or directory. Stop.
====
I've been trying to figure out how to fix it, but it seems my ignorance
of RPM .spec is getting the better of me...
I should mention; This same src.rpm builds fine on RHEL 7.5. So it seems
to be specifically a Fedora issue (tried on 27 and 28).
Digimer, you might be better off asking the Fedora folks rather than
the DRBD folks, since they may have had to fix similar issues in
other packages.
Nick, since you're a Fedora ambassador do you have any suggestions
on where or who to ask? I don't know if
is appropriate unless Digimer is planning on submitting his work to
her.
just saying ;-)
Post by DigimerFedora.
Thanks, Sarah
Thanks Sarah!
I asked on the #fedora IRC channel and a few folks did help (that's
how I narrows it down to that loop), the general feeling was to talk to
LINBIT folks. Personally, I am happy working with either, though I want
to admit straight up that I am fairly new to RPM packaging.
If Nick has advice, I'll be happy to follow it, too. :)
digimer
Cheers,
Lars
--
: Lars Ellenberg
: LINBIT | Keeping the Digital World Running
: DRBD -- Heartbeat -- Corosync -- Pacemaker
: R&D, Integration, Ops, Consulting, Support
DRBD® and LINBIT® are registered trademarks of LINBIT