Bug 2325318 - Review Request: aqute-bnd-epel - BND Tool
Summary: Review Request: aqute-bnd-epel - BND Tool
Keywords:
Status: RELEASE_PENDING
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL: https://bnd.bndtools.org/
Whiteboard:
: 2325259 (view as bug list)
Depends On: 2325260
Blocks: 2325258 EPELPackagersSIG
TreeView+ depends on / blocked
 
Reported: 2024-11-11 20:57 UTC by Michel Lind
Modified: 2025-06-26 21:12 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
ngompa13: fedora-review+


Attachments (Terms of Use)

Description Michel Lind 2024-11-11 20:57:12 UTC
Spec URL: https://salimma.fedorapeople.org/aqute-bnd-epel.spec
SRPM URL: https://salimma.fedorapeople.org/aqute-bnd-epel-6.3.1-11.1.fc41.src.rpm

Description:
The bnd tool helps you create and diagnose OSGi bundles.
The key functions are:
- Show the manifest and JAR contents of a bundle
- Wrap a JAR so that it becomes a bundle
- Create a Bundle from a specification and a class path
- Verify the validity of the manifest entries
The tool is capable of acting as:
- Command line tool
- File format
- Directives
- Use of macros

Fedora Account System Username: salimma

Comment 1 Michel Lind 2024-11-11 20:58:18 UTC
*** Bug 2325259 has been marked as a duplicate of this bug. ***

Comment 2 Fedora Review Service 2024-11-11 21:06:46 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8244153
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2325318-aqute-bnd-epel/fedora-rawhide-x86_64/08244153-aqute-bnd-epel/fedora-review/review.txt

Found issues:

- Maven packages do not need to (Build)Require jpackage-utils. It is pulled in by maven-local
  Read more: https://fedoraproject.org/wiki/Packaging:Java
- No javadoc subpackage present. Note: Javadocs are optional for Fedora versions >= 21
  Read more: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
- No javadoc subpackage present
  Read more: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 4 Michel Lind 2024-11-11 21:38:35 UTC
Diff from c10s spec

https://paste.centos.org/view/9dc4275e

Comment 5 Neal Gompa 2024-11-11 21:44:14 UTC
Review notes:

* Packaging looks reasonable for an EPEL fork with a subset of packages
* Licensing is correctly handled
* Package builds and installs
* No serious issues from rpmlint

FYI: In the future, attach diffs to the bug rather than linking to paste.centos.org, since pastes expire after a single day.

PACKAGE APPROVED.

Comment 6 Fedora Admin user for bugzilla script actions 2024-11-11 22:15:38 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/aqute-bnd-epel

Comment 7 Zenon Panoussis 2025-06-26 16:19:35 UTC
# mock -r alma+epel-10-x86_64 aqute-bnd-epel-6.3.1-11.1.fc41.src.rpm

works fine, but 

# mock -r alma+epel-10-x86_64 --define "with bnd_maven_plugin" aqute-bnd-epel-6.3.1-11.1.fc41.src.rpm

ends with 

warning: /builddir/build/SPECS/aqute-bnd-epel.spec: line 44: unexpected argument to non-parametric macro %with
error: bare words are no longer supported, please use "...":  bnd_maven_plugin
error:                                                        ^
error: /builddir/build/SPECS/aqute-bnd-epel.spec:44: bad %if condition:  bnd_maven_plugin

Line 44 is: %if %{with bnd_maven_plugin}. Changing it to %if 0%{?_with_bnd_maven_plugin} solves the problem at line 44 and runs into the next on line 80, so this seems to confirm the solution. 

A separate problem when all the bare words have been fixed, occurs during the build: 

[ERROR] UndeclaredThrowableException: InvocationTargetException: Plugin org.apache.maven.plugins:maven-source-plugin:3.2.1 or one of its dependencies could not be resolved:
[ERROR]         Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.apache.maven.plugins:maven-source-plugin:jar:3.2.1 has not been downloaded from it before.

Indeed, maven-source-plugin was not pulled in, despite mvn(org.apache.maven.plugins:maven-source-plugin) being part of the conditional BuildRequires. So there's still something wrong with those %if macros.

Comment 8 Zenon Panoussis 2025-06-26 21:12:48 UTC
On line 44 of the spec, none of the following triggers the conditional BuildRequires to pull in maven-source-plugin: 

%if %{with "bnd_maven_plugin"}
%if ( %{with bnd_maven_plugin} )
%if %{?_with_bnd_maven_plugin}
%if %{?_with_bnd_maven_plugin:1}
%if 0%{?_with_bnd_maven_plugin:1}

Some of them bail out already on rpmbuild -bs, others pass the rpmbuild lint but fail to actually do what is expected of them during build. This is really a serious lapse in the documentation of "bare words are no longer supported" (and chronically in the documentation of rpm macros in general), much more than a bug in this particular package. 

Whatever the correct syntax eventually turns out to be, it should work for all current epel versions and their respective versions of rpm. Which, I suspect and fear, might require a rethinking of how and when changes are introduced to rpm itself.


Note You need to log in before you can comment on or make changes to this bug.