Skip to content

Simplify spec file and replace hardcoded xrootd dependencies with a build conditional - #161

Open
matyasselmeci wants to merge 2 commits into
PelicanPlatform:mainfrom
matyasselmeci:pr/specfile2
Open

Simplify spec file and replace hardcoded xrootd dependencies with a build conditional#161
matyasselmeci wants to merge 2 commits into
PelicanPlatform:mainfrom
matyasselmeci:pr/specfile2

Conversation

@matyasselmeci

Copy link
Copy Markdown
Contributor

This code builds just fine against XRootD 6 without any build script changes, and the RPM automatic dependency generator picks up the right version of xrootd to install due to the sonames.

Also, we can drop the BuildRequire on xrootd-server-libs, since it's brought in by xrootd-server-devel.

We do need to add globs to the .so files into the file list - they are suffixed with -5 or -6 depending on what version of xrootd they were built with.

This code builds just fine against XRootD 6 without any build script
changes, and the RPM automatic dependency generator picks up the right
version of xrootd to install due to the sonames.

Also, we can drop the BuildRequire on xrootd-server-libs, since it's
brought in by xrootd-server-devel.

We do need to add globs to the .so files into the file list - they
are suffixed with -5 or -6 depending on what version of xrootd they
were built with.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the RPM packaging for xrootd-s3-http to rely on RPM’s automatic dependency generation (via ELF NEEDED/sonames) instead of hard-coding XRootD major/minor version constraints, and adjusts the %files manifest to accommodate plugin .so filenames that include the XRootD plugin-version suffix (e.g., -5 / -6).

Changes:

  • Drop explicit version-bounded BuildRequires/Requires on XRootD packages and rely on automatic dependency resolution.
  • Remove redundant BuildRequires: xrootd-server-libs (covered by xrootd-server-devel).
  • Replace explicitly versioned plugin filenames in %files with globs to match -5 / -6 suffixed modules and include additional plugin modules in the packaged file list.

@matyasselmeci
matyasselmeci requested a review from a team July 23, 2026 17:41
@matyasselmeci

Copy link
Copy Markdown
Contributor Author

This doesn't work for OSG on EL10: without the explicit version restriction, our Koji build for 25-main pulls in XRootD 6 from EPEL 10. Moving back to draft while I fix it...

@matyasselmeci
matyasselmeci marked this pull request as draft July 24, 2026 21:38
@matyasselmeci
matyasselmeci marked this pull request as ready for review July 30, 2026 15:47
@matyasselmeci matyasselmeci changed the title Simplify spec file and drop explicit xrootd version dependencies Simplify spec file and replace hardcoded xrootd dependencies with a build conditional Aug 10, 2026
@matyasselmeci

Copy link
Copy Markdown
Contributor Author

OK, I added back the xrootd version dependencies, but now they're controllable with a build conditional: people using rpmbuild can add the flag --with xrootd6 to build with xrootd 6, or they can define the _with_xrootd6 1 macro in their build environments (as we do in some of the OSG build environments).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants