Jira (FACT-1772) libfacter install should support other directories than /lib

4 views
Skip to first unread message

James Hogarth (JIRA)

unread,
Oct 2, 2017, 7:16:02 PM10/2/17
to puppe...@googlegroups.com
James Hogarth created an issue
 
Facter / Bug FACT-1772
libfacter install should support other directories than /lib
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2017/10/02 4:15 PM
Priority: Normal Normal
Reporter: James Hogarth

As part of the update to 3.9.0 for Fedora the facter package needs to split into facter, development headers and any bindings (eg ruby bindings) to comply with guidelines.

Currently the libfacter library installs directly to /lib and the ruby bindings call on libfacter.so in /lib specifically.

The library should be able to be installed to /lib64 (well /usr/lib64 but /lib64 symlinks here) to comply with the guidelines whilst packaging the update.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe)
Atlassian logo

Branan Riley (JIRA)

unread,
Oct 26, 2017, 12:20:03 PM10/26/17
to puppe...@googlegroups.com

Branan Riley (JIRA)

unread,
Oct 26, 2017, 12:23:04 PM10/26/17
to puppe...@googlegroups.com
Branan Riley updated an issue
Change By: Branan Riley
Sprint: Platform  Core  OS  Grooming

Branan Riley (JIRA)

unread,
Oct 26, 2017, 12:23:06 PM10/26/17
to puppe...@googlegroups.com
Branan Riley updated an issue
Change By: Branan Riley
Sprint: Platform Core Grooming

Branan Riley (JIRA)

unread,
Oct 26, 2017, 12:23:06 PM10/26/17
to puppe...@googlegroups.com

Geoff Nichols (JIRA)

unread,
Nov 4, 2017, 5:49:06 AM11/4/17
to puppe...@googlegroups.com
Geoff Nichols updated an issue
Change By: Geoff Nichols
Sprint: Platform OS Grooming /Triage
This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db)
Atlassian logo

Geoff Nichols (JIRA)

unread,
Feb 6, 2018, 5:52:02 PM2/6/18
to puppe...@googlegroups.com
Geoff Nichols updated an issue
Change By: Geoff Nichols
Sprint: Platform OS Grooming/Triage Ready for Eng.
This message was sent by Atlassian JIRA (v7.5.1#75006-sha1:7df2574)
Atlassian logo

Enis Inan (JIRA)

unread,
Feb 12, 2018, 12:15:04 PM2/12/18
to puppe...@googlegroups.com

Enis Inan (JIRA)

unread,
Feb 12, 2018, 12:15:04 PM2/12/18
to puppe...@googlegroups.com
Enis Inan updated an issue
Change By: Enis Inan
Sprint: Platform OS Ready for Eng. Kanban

Enis Inan (JIRA)

unread,
Feb 13, 2018, 2:09:04 AM2/13/18
to puppe...@googlegroups.com
Enis Inan commented on Bug FACT-1772
 
Re: libfacter install should support other directories than /lib

Branan Riley I did some digging through the CMakeLists files of Facter, Leatherman and Cpp-Hocon. It seems like the lib install directory for Faster is set here:

  https://github.com/puppetlabs/facter/blob/master/lib/CMakeLists.txt#L263

^ What is interesting is that in 3.6.x and 3.9.x, that same line is

  https://github.com/puppetlabs/facter/blob/3.6.x/lib/CMakeLists.txt#L255 

so will the changes required in FACT-1772 only apply to the “master” branch of Facter?

 

The LIB_SUFFIX thing comes from Leatherman, which is used in the “leatherman_install” macro:

  https://github.com/puppetlabs/leatherman/blob/master/cmake/leatherman.cmake.in#L81-L91 

(and here is where Facter uses it):

  https://github.com/puppetlabs/facter/blob/master/lib/CMakeLists.txt#L356 (for libfacter)

  https://github.com/puppetlabs/facter/blob/master/exe/CMakeLists.txt#L39 (for executable, dunno if this matters)

The changes to specify a LIB_SUFFIX were made in this commit:

  https://github.com/puppetlabs/leatherman/commit/448dc6c71df95a84893407a4792efcd6ae52eab1

which go all the way back to Leatherman 0.12.x. From that commit, It seems like LIB_SUFFIX, as it is currently done, needs to be manually set in CMakeCache.txt. When I set LIB_SUFFIX to “64” there, things seem to work OK — libfacter is installed to lib64 (both libfacter.so and libfacter.so.3.9.5). This is also true for the other CPP components like Leatherman and Cpp-Hocon (their libraries are also installed to lib64).

 

It looks like there are a set of sensible defaults we can use — https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html has them. CMAKE_INSTALL_LIBDIR gives us what we want (it is set to "lib64" on a Fedora 26 VM). If we switch to specifying our lib directory as CMAKE_INSTALL_LIBDIR, it would require quite a bit of changes. I think a sensible solution would be to strip out the "lib" part in CMAKE_INSTALL_LIBDIR and use that as the LIB_SUFFIX. Both solutions would require an extra parameter passed into cmake so that when we build the puppet-agent, things install to the /lib directory because that is where the agent expects to find everything. Of course, better solutions are welcome.

 

Branan Riley (JIRA)

unread,
Feb 16, 2018, 12:28:02 PM2/16/18
to puppe...@googlegroups.com
Branan Riley commented on Bug FACT-1772

Enis Inan Ideally, we'd use CMAKE_INSTALL_LIBDIR (which may just be the default?) unless we're part of the puppet-agent build, in which case we'd override it to always just be "lib" (possibly just by setting -DCMAKE_INSTALL_LIBDIR=lib in the vanagon build script). This probably requires the most effort, and needs us to coordinate some change between leatherman; facter; and p-a, but I think it will simplify our CMake code and make using Facter outside of p-a much more straightforward.

Geoff Nichols (JIRA)

unread,
Feb 22, 2018, 1:08:03 PM2/22/18
to puppe...@googlegroups.com

Branan Riley (JIRA)

unread,
Mar 21, 2018, 7:27:02 PM3/21/18
to puppe...@googlegroups.com
Branan Riley updated an issue
Change By: Branan Riley
Labels: distro triaged
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Geoff Nichols (JIRA)

unread,
Apr 24, 2018, 5:53:04 PM4/24/18
to puppe...@googlegroups.com
Geoff Nichols updated an issue
Change By: Geoff Nichols
Sprint: Platform OS Ready for Eng.

Geoff Nichols (JIRA)

unread,
Apr 24, 2018, 5:53:07 PM4/24/18
to puppe...@googlegroups.com

Branan Riley (JIRA)

unread,
May 21, 2018, 3:55:30 PM5/21/18
to puppe...@googlegroups.com

Branan Riley (JIRA)

unread,
May 21, 2018, 3:55:39 PM5/21/18
to puppe...@googlegroups.com
Branan Riley updated an issue
Change By: Branan Riley
Sprint: Platform EOL - Blocked Tasks

Branan Riley (JIRA)

unread,
May 21, 2018, 4:01:09 PM5/21/18
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Apr 26, 2023, 4:37:01 PM4/26/23
to puppe...@googlegroups.com
Josh Cooper commented on Bug FACT-1772
 
Re: libfacter install should support other directories than /lib

Facter 3 is EOL and is not an issue in Facter 4, so I'm going to close this.

This message was sent by Atlassian Jira (v8.20.11#820011-sha1:0629dd8)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages