Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPM build failure on Fedora 39/Rawhide (bc nokogiri libxml "foo:colon" thing) #107

Closed
3 tasks done
Tracked by #103
apjanke opened this issue Jan 4, 2024 · 3 comments
Closed
3 tasks done
Tracked by #103
Assignees
Labels
bug Something isn't working packaging
Milestone

Comments

@apjanke
Copy link
Owner

apjanke commented Jan 4, 2024

From downstream Fedora bug 2226406:

ronn-ng FTBFS (Failed To Build From Source) starting on 2023-07-25. Reported in #102. They're using Ronn-NG 0.9.1, which was working on earlier Fedora releases, but fails on the recentest.

This ticket is specifically for the building-on-Fedora aspect of that issue, including anything else needed to get it fixed on recent Fedora. (And with only apjanke following it, so the orig reporter doesn't get spammed with comment notifications.)

Considerations

%patch0 -p1

# Upstream specifies mustache==0.7, but we have 1.1 and it seems to work fine...
%gemspec_remove_dep -g mustache "~> 0.7"

# TODO: file upstream
chmod -x lib/ronn.rb

Details

The downstream bug report's build log is showing the same probably-libxml-related "<dot.> and foo:colon" problem as reported in #102.


+ export CXX
+ cd ronn-ng-0.9.1
+ pushd ./usr/share/gems/gems/ronn-ng-0.9.1
+ ruby -Ilib:test -e 'Dir.glob "./test/test_*.rb", &method(:require)'
Loaded suite -e
Started
F
===============================================================================
Failure: test_angle_bracket_syntax_HTML(RonnTest):
  --- /builddir/build/BUILD/ronn-ng-0.9.1/usr/share/gems/gems/ronn-ng-0.9.1/test/angle_bracket_syntax.html	2023-07-21 18:26:25.630737761 +0000
  +++ /builddir/build/BUILD/ronn-ng-0.9.1/usr/share/gems/gems/ronn-ng-0.9.1/test/angle_bracket_syntax.html.wrong	2023-07-21 18:26:30.440557720 +0000
  @@ -13,5 +13,5 @@
   
   <p>or when <code>&lt;WORD&gt;</code> is enclosed in backticks.</p>
   
  -<p>or when <var>WORD</var> has a <dot.> or <colon>.</colon></dot.></p>
  +<p>or when <var>WORD</var> has a <dot.> or <foo:colon>.</foo:colon></dot.></p>
   </div>
  .
/builddir/build/BUILD/ronn-ng-0.9.1/usr/share/gems/gems/ronn-ng-0.9.1/test/test_ronn.rb:43:in `flunk_with_diff'
/builddir/build/BUILD/ronn-ng-0.9.1/usr/share/gems/gems/ronn-ng-0.9.1/test/test_ronn.rb:96:in `block (2 levels) in <class:RonnTest>'
===============================================================================
Finished in 12.238363415 seconds.
-------------------------------------------------------------------------------
64 tests, 113 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
98.4375% passed
-------------------------------------------------------------------------------
5.23 tests/s, 9.23 assertions/s
RPM build warnings:
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.fxU1HV (%check)
    %patchN is deprecated (1 usages found), use %patch N (or %patch -P N)
    Bad exit status from /var/tmp/rpm-tmp.fxU1HV (%check)
Child return code was: 1
EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M 08972952575c4e8cba7c146f736e1d6c -D /var/lib/mock/f39-build-44349059-5276931/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.sf0emcyk:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007" --setenv=PS1=<mock-chroot> \\s-\\v\\$  --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-ronn-ng.spec\n', 1)]
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/mockbuild/trace_decorator.py", line 93, in trace
    result = func(*args, **kw)
             ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/mockbuild/util.py", line 597, in do_with_status
    raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
mockbuild.exception.Error: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 08972952575c4e8cba7c146f736e1d6c -D /var/lib/mock/f39-build-44349059-5276931/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.sf0emcyk:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/rubygem-ronn-ng.spec

References

@apjanke apjanke changed the title Build failure on Fedora 39/Rawhide by distro packaging Build failure on Fedora 39/Rawhide in distro packaging Jan 4, 2024
@apjanke apjanke self-assigned this Jan 4, 2024
@apjanke apjanke added bug Something isn't working packaging labels Jan 4, 2024
@apjanke apjanke added this to ronn-ng Jan 4, 2024
@github-project-automation github-project-automation bot moved this to Needs triage in ronn-ng Jan 4, 2024
@apjanke apjanke moved this from Needs triage to High priority in ronn-ng Jan 4, 2024
@apjanke apjanke added this to the 0.10.1 milestone Jan 4, 2024
@apjanke
Copy link
Owner Author

apjanke commented Jan 4, 2024

Okay, I think I have this fixed. But I don't know how to test building an RPM or running ronn-ng against a nokogiri lib that uses the system libxml2 like Fedora does, so I can't fully confirm it. Going to leave this open for a bit and see if I can get the fix confirmed by Fedora folks in #102.

@apjanke apjanke changed the title Build failure on Fedora 39/Rawhide in distro packaging RPM build failure on Fedora 39/Rawhide bc nokogiri libxml "foo:colon" thing Jan 4, 2024
@apjanke apjanke changed the title RPM build failure on Fedora 39/Rawhide bc nokogiri libxml "foo:colon" thing RPM build failure on Fedora 39/Rawhide (bc nokogiri libxml "foo:colon" thing) Jan 4, 2024
@voxik
Copy link
Contributor

voxik commented Jan 4, 2024

Oh, wow. I am impressed by your analysis of Fedora .spec file. Thx a lot 😍

@apjanke
Copy link
Owner Author

apjanke commented Jan 4, 2024

In #102 (comment), voxik says Fedora prefers not to mess around with upstream prereleases. And I don't have the time to set up an RPM build testing pipeline on my side. The code fixes I've got are merged to main. So I'm closing this issue, since I think I've got a fix, and dunno how to test it better.

If there's still problems with RPM builds after the 0.10.1 release, please reopen this ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working packaging
Projects
Status: Closed
Development

No branches or pull requests

2 participants