sclorg / softwarecollections

Software Collections Management Website and Utils
BSD 3-Clause "New" or "Revised" License
66 stars 27 forks source link

sub package "scldevel" not required from sub package "build" #102

Closed junaruga closed 6 years ago

junaruga commented 6 years ago

The situation in https://www.softwarecollections.org/en/docs/guide/ is


2.7.2. Creating a Metapackage - Example of the Metapackage

%package build ​> Summary: Package shipping basic build configuration ​> Requires: scl-utils-build

In other words,


4.1.1. Using an scldevel Subpackage in a Dependent Software Collection - Procedure 4.2. Using your own scldevel subpackage in a dependent Software Collection

  1. Ensure that the %package build part of the metapackage's spec file includes the following lines:

%package build ​> Summary: Package shipping basic build configuration ​> Requires: %{scl_prefix_ruby}scldevel

The issue is that the description Requires: %{scl_prefix_ruby}scldevel is confusing me. That gives me that we must add the line. But actually not. According to rh-python36, rh-nodejs6, rh-php71 in a majority of the case, Requires: %{scl_prefix_ruby}scldevel is not needed. Also I checked it with Perl SCL guy. And that is not necessary.

The "scldevel" package only includes 2 kind of macro definitions such as %scl_ruby and %scl_prefix_ruby And those are not used by other RPM packages of the own SCL.

But for example, the "scldevel" adds additional macros that are used from the other packages, requiring it might be needed.

cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel << EOF
​%%scl_%{scl_name_base} %{scl}
​%%scl_prefix_%{scl_name_base} %{scl_prefix}
​EOF

I wish the document will be updated considering this fact.

junaruga commented 6 years ago

Close this ticket, I reported https://bugzilla.redhat.com/show_bug.cgi?id=1531092 .