[CPR-393] puppetlabs-release-pc1 RPM on centos5 Created: 2016/12/02  Updated: 2017/12/28  Resolved: 2017/12/28

Status: Closed
Project: Community Package Repository
Component/s: Packaging
Affects Version/s: None
Fix Version/s: 2017/08/02

Type: Bug Priority: Normal
Reporter: Mike Schmidt Assignee: Molly Waggett
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

centos5


Template:
Team: Release Engineering
Story Points: 2
Sprint: RE 2016-12-28, RE 2017-01-11
QA Risk Assessment: Needs Assessment

 Description   

When installing the puppetlabs-release-pc1-1.1.0-4.el5.noarch rpm in a kickstart environment, we get this message:

Installing puppetlabs-release-pc1-1.1.0-4.el5.noarch
warning: puppetlabs-release-pc1-1.1.0-4.el5: Header V3 RSA/SHA1 signature: NOKEY, key ID ef8d349f
/var/tmp/rpm-tmp.90633: line 2: mkdir: command not found
/var/tmp/rpm-tmp.90633: line 4: touch: command not found

This means that this rpm should have a
Requires: coreutils
attribute to have mkdir and touch available.



 Comments   
Comment by Rob Braden [ 2016/12/07 ]

We'll take a look at this. I have a hunch that it may be a $PATH issue instead. Are you setting the path at all in your kickstart environment?

FWIW, RPM requires coreutils, so I don't think that's the issue, at least not directly.

Comment by Mike Schmidt [ 2016/12/07 ]

I haven't seen a path command in a kickstart. Looking at my install.log (in Centos5) I see that coreutils is installed after puppetlabs-release-pc1. I have the same problem with several other packages, and in my own, I have simply added a require for coreutils to force them to install after coreutils.

On my centos7 installs, puppetlabs-release-pc1 is always installed after coreutils, so there is no problem. However, for example, the texlive-kpathsea package which installs before coreutils, also has the same problem:

01:28:38,166 INFO packaging: 2:texlive-kpathsea-svn28792.0-38.el7.noarch (55/1125)
01:28:38,166 INFO packaging: /var/tmp/rpm-tmp.SoQDR7: line 1: mkdir: command not found
01:28:38,166 INFO packaging: /var/tmp/rpm-tmp.SoQDR7: line 2: touch: command not found
01:28:38,166 INFO packaging: /var/tmp/rpm-tmp.SoQDR7: line 3: touch: command not found

Note that kickstart environment is run during the initial system install, so there is not a complete system available. Anaconda (which evaluates the kickstart) at this point is not running RPM afaik.

Comment by Molly Waggett [ 2016/12/19 ]

Hi Mike Schmidt,

We are able to reproduce your issue and are working on a fix. We should be able to get you an artifact sometime this week - would you be able to test it?

Ryan McKern fyi

Comment by Mike Schmidt [ 2016/12/20 ]

Hi, Molly Waggett,

No problem testing it. I would be pleased to do so. Please let me know where to get the rpm when it's ready to test.

Comment by Ryan McKern [ 2016/12/20 ]

Molly Waggett & Mike Schmidt We've produced an updated RPM to test:

RPM: https://puppet-release-el5-test.s3.amazonaws.com/puppetlabs-release-pc1-1.1.0-5.el5.noarch.rpm
Detached GPG signature: https://puppet-release-el5-test.s3.amazonaws.com/puppetlabs-release-pc1-1.1.0-5.el5.noarch.rpm.asc

Instead of adding an explicit dependency on coreutils, we added a dependency on /bin/mkdir and /bin/touch. If that doesn't work, we'll change it to depend on coreutils. We thought the lighter touch may be less disruptive overall.

Comment by Ryan McKern [ 2016/12/27 ]

Hi Mike Schmidt. Happy holidays! I'll leave this open another week due to the holidays. If we wind up closing it without hearing from you, just let us know when you've got some time to follow up on it and we can reopen it.

Comment by Mike Schmidt [ 2016/12/29 ]

Thanks for this update. I tested the rpm and it works very well. anaconda installed the rpm after coreutils, where before it was the opposite. You can close this issue as complete and working.

Generated at Thu Jan 23 00:35:57 PST 2020 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.