Bug 1935653
Summary: | Option --runstatedir doesn't work properly | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Filip Januš <fjanus> |
Component: | autoconf | Assignee: | Frédéric Bérat <fberat> |
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 34 | CC: | codonell, fdvorak, jjanco, karsten, kasal, odubaj, panovotn, praiskup, redhat-bugzilla |
Target Milestone: | --- | Keywords: | Patch, Triaged |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2022-05-10 13:08:33 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1937406 | ||
Bug Blocks: | 1831941 |
Description
Filip Januš
2021-03-05 10:34:56 UTC
From my perspective and according to documentation, I would prefer adding the below patch to autoconf diff --git a/config.site b/config.site index 5bea225..87750f7 100644 --- a/config.site +++ b/config.site @@ -18,6 +18,7 @@ then test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var test "$localstatedir" = '${prefix}/var' && localstatedir=/var + test "$runstatedir" = '${localstatedir}/run' && runstatedir=/run ARCH=`uname -m` for i in x86_64 ppc64 s390x aarch64; do It does not solve our problem, but in my opinion, it should be there. Proposed fix for this issue: https://src.fedoraproject.org/rpms/autoconf/pull-request/7 We should wait, what upstream says about this. I looked a bit at this issue, and I'm afraid I believe the current version works as expected. More specifically, autoconf doesn't expand these kind of variable on purpose, as stated in the following snippet: # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) More specifically, the following phrase: # These are left unexpanded so users can "make install exec_prefix=/foo" must be interpreted: # These are left unexpanded so users can "make install exec_prefix=/foo", assuming their makefile support these variables This applies to a few variables, which includes runstatedir and localstatedir. Therefore, the user should be careful while using them. In the provided example, the shell script ends up with the following value: ls "${localstatedir}/run" Since "${localstatedir}" isn't set in the context of the shell script, that ends up being interpreted as: ls "/run" Autoconf is generally combined with automake, which will collect the (unexpanded) values of all these variables. Expansion will therefore be done while interpreting the makefile, which will result in the correct behavior. A typical Makefile.in file, will include the following lines: localstatedir = @localstatedir@ ... runstatedir = @runstatedir@ Anything provided in configure commandline will therefore be properly interpreted later on. |