Bug 626807 - Requires: dependency in Makefile doesn't work correctly
Requires: dependency in Makefile doesn't work correctly
Status: CLOSED NOTABUG
Product: Beaker
Classification: Community
Component: scheduler (Show other bugs)
0.5
All Linux
low Severity medium (vote)
: ---
: ---
Assigned To: Bill Peck
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-08-24 09:29 EDT by Jan Ščotka
Modified: 2010-09-08 08:39 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-09-08 08:39:20 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jan Ščotka 2010-08-24 09:29:01 EDT
Description of problem:
Hi,
I've met unpleasant problem.
I've had dependency in Makefile, but it seems that it doesn't eork as in RHTS:
I have there 
@echo "Requires:     $(PACKAGE_NAME) krb5-workstation" >> $(METADATA)
but package "krb5-workstation" isn't installed. 
It is very strange 
and when I've added line
 rpm -q krb5-workstation || yum -y install krb5-workstation
into runtest.sh it begins to work correctly
name of test: /CoreOS/tcsh/Sanity/bad_guid

testoutlog: https://beaker.engineering.redhat.com/logs/2010/66/13766/26147/329202///TESTOUT.log

Actual results:
package isn't installed in intall phase

Expected results:
package should be installed there
Comment 1 Ales Zelinka 2010-09-01 10:06:46 EDT
Not sure if this is related but the test has 'nothing' in the RunFor metadata field even though both makefile and testinfo.desc say "RunFor: tcsh".

https://beaker.engineering.redhat.com/tasks/2636

And it is not nothing as an empty string, it is 'nothing':
$ bkr task-list --package nothing |grep tcsh
/CoreOS/tcsh/Regression/bz531353-tcsh-printexitvalue-backquote
/CoreOS/tcsh/Sanity/bad_guid
Comment 2 Bill Peck 2010-09-01 10:19:01 EDT
I think we were just out of sync.  I did a make tag and a make bkradd and it looks correct to me now.
Comment 3 Martin Cermak 2010-09-06 09:44:17 EDT
Please consider this run: https://beaker.engineering.redhat.com/jobs/16545

All the pre-requisities are mentioned in the Makefile:

@echo "Requires:        openwsman-server openwsman-client wsmancli" >> $(METADATA)

But finally they were not installed([1]):

package openwsman-server is not installed
:: [   FAIL   ] :: Checking for the presence of openwsman-server rpm 
package openwsman-client is not installed
:: [   FAIL   ] :: Checking for the presence of openwsman-client rpm 
package wsmancli is not installed
:: [   FAIL   ] :: Checking for the presence of wsmancli rpm 

May be this bug symptoms.

----------------
[1] https://beaker.engineering.redhat.com/logs/2010/45/16545/31173/385318///TESTOUT.log
Comment 4 Bill Peck 2010-09-07 09:32:57 EDT
And the kickstart %packages section includes it

https://beaker.engineering.redhat.com/logs/2010/45/16545/31173///ks.cfg

%packages --ignoremissing 
@development-tools
@development-libs
#RHEL6 and Fedora12
@development
@desktop-platform-devel
@server-platform-devel
libxml2-python
ntp
expect
pyOpenSSL
beah
koan
make
wget
gcc
procmail
redhat-lsb
openwsman-server
openwsman-client
wsmancli


And we add these repos to the install:

repo --name=beaker-debug-optional --cost=100 --baseurl=http://lab2.rhts.eng.bos.redhat.com/distros/vol/engineering/devarchive/redhat/rel-eng/RHEL6.0-20100826.1/6/Client/i386/os/../../optional/i386/debug
repo --name=beaker-os-optional --cost=100 --baseurl=http://lab2.rhts.eng.bos.redhat.com/distros/vol/engineering/devarchive/redhat/rel-eng/RHEL6.0-20100826.1/6/Client/i386/os/../../optional/i386/os
repo --name=beaker-addon--os --cost=100 --baseurl=http://lab2.rhts.eng.bos.redhat.com/distros/vol/engineering/devarchive/redhat/rel-eng/RHEL6.0-20100826.1/6/Client/i386/os
repo --name=beaker-debug --cost=100 --baseurl=http://lab2.rhts.eng.bos.redhat.com/distros/vol/engineering/devarchive/redhat/rel-eng/RHEL6.0-20100826.1/6/Client/i386/os/../debug
repo --name=beaker-os --cost=100 --baseurl=http://lab2.rhts.eng.bos.redhat.com/distros/vol/engineering/devarchive/redhat/rel-eng/RHEL6.0-20100826.1/6/Client/i386/os/.


Is it possible the packages don't exist in the OS?  Where should they come from?
Comment 5 Martin Cermak 2010-09-08 04:07:36 EDT
I solved this by adding /distribution/reservesys as the first test, then modifying the repo like this: 

cat rhel6.repo 
[rhel6]
name=rhel6
baseurl=http://download.eng.bos.redhat.com/rel-eng/latest-RHEL6.0/6.0/Server/$basearch/os/
enabled=1
gpgcheck=0

[rhel6-optional]
name=rhel6-optional
baseurl=http://download.eng.bos.redhat.com/rel-eng/latest-RHEL6.0/6.0/Server/optional/$basearch/os/
enabled=1
gpgcheck=0

[rhel6-debug]
name=rhel6-debug
baseurl=http://download.eng.bos.redhat.com/rel-eng/latest-RHEL6.0/6.0/Server/$basearch/debug/
enabled=1
gpgcheck=0

[rhel6-optional-debug]
name=rhel6-optional-debug
baseurl=http://download.eng.bos.redhat.com/rel-eng/latest-RHEL6.0/6.0/Server/optional/$basearch/debug/
enabled=1
gpgcheck=0

and installing packages manually. Maybe they come from some Optional repo or something, but IMO all repos should be registered in Beaker..
Comment 6 Bill Peck 2010-09-08 08:39:20 EDT
So if the packages aren't in the repo I can't install them. closing.

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