RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1939342 - Revert: Backport --runstatedir option for configure
Summary: Revert: Backport --runstatedir option for configure
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: autoconf
Version: 8.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.3
Assignee: Honza Horak
QA Contact: Martin Kyral
URL:
Whiteboard:
Depends On:
Blocks: 1940507
TreeView+ depends on / blocked
 
Reported: 2021-03-16 07:21 UTC by Honza Horak
Modified: 2021-12-16 11:00 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 1940507 (view as bug list)
Environment:
Last Closed: 2021-12-16 10:59:59 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Honza Horak 2021-03-16 07:21:33 UTC
The impact of the bug #1831941 turned to have negative consequences for depended component(s) -- one component (krb5) stopped building and the impact on runtime in others is not entirely clear, so the SST decided to rather revert this RFE. This bug tracks the reverting itself.

The original RFE was:
--------------------------
Backport --runstatedir option for configure, because modern FL/OSS software already relies on @runstatedir@ placeholder.
 - https://lists.gnu.org/archive/html/autoconf-patches/2013-09/msg00018.html
 - https://www.gnu.org/prep/standards/html_node/Directory-Variables.html


Description of problem:
--------------------------
Copy&pasting reasoning from https://bugzilla.redhat.com/show_bug.cgi?id=1831941#c47:

We originally didn't see any problems to backport this RFE and it seemed quite safe. However, the krb5 package started to fail when being build with autoconf that includes this change.

Further investigation revealed that the krb5 package does handle runstatedir somehow (which is different than what autoconf does with this option) and the check during the krb5 fortunately made the build fail:

  # Sanity check the KDC_RUN_DIR.	
  configured_kdcrundir=`grep KDC_RUN_DIR src/include/osconf.h | awk '{print $NF}'`
  configured_kdcrundir=`eval echo $configured_kdcrundir`
  if test "$configured_kdcrundir" != %{_localstatedir}/run/krb5kdc ; then
    exit 1	
  fi

We tested other packages in RHEL-8 and they were built fine with this change backported. However, we realized that if there was no check like this in the krb5 (even in other packages), the change in runstatedir might not be spotted during build, but the build result will be different.

In short, the issue lays in expanding values -- autoconf does not expand the runstatedir and returns a value "${localstatedir}/something" if defined, so it is up to further building scripts what they do with such value (it should be expanded). If it's not expanded properly, but the "${localstatedir}" is taken as a bash variable (that might be empty), it can easily become just "/something" which might be an issue depending on usage.

Since the real impact of this is unknown here and we're dealing with this change during the RHEL-8 lifetime (when packages are expected to stay compatible), we decided to not include this change to not risk breakage of other RHEL packages or customer applications (not only during build) in RHEL-8.

Since this change is now backported in Fedora, it will be further tested in real scenarios and affected packages will likely adopt (krb5 already did). That way, there is a good chance this feature will be part of RHEL-9 (no promises, it always depends on how it's accepted). That way, even RHEL users will be able to adopt better and there is also not gonna be that big push on backward compatibility as we have currently on updates during RHEL-8.

Comment 8 CongLi 2021-05-26 06:11:44 UTC
Hi,

Since the issue described in this bug should be resolved (VERIFIED), could you please close this bug with resolution 'CURRENTRELEASE' if this bug got fixed ?

If the fix for this is not released yet, check if this will ever get fixed. In case of a negative answer then please change it as WONTFIX.

If there's anything else to be done on this BZ, if it's still active, not released yet and we actually intend to release it, then please ignore my message.

Please note: for those bugs which are not included in errata, please add 'TestOnly' keyword, and those bugs with 'TestOnly' keyword will be closed automatically after GA.
TestOnly: Use this when there is no code delivery involved, or for use when code is already upstream and will be incorporated automatically to the next release for testing purposes only.

Thank you.


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