[Linux-PowerEdge] Problem with dell-omsa-repository package on Repository (15.04.00)

Chad Feller feller at unr.edu
Sat May 2 16:19:14 CDT 2015


Hi,

I noticed that on Dell Linux Repository 15.04.00 that there is a problem 
with the dell-omsa-repository RPM.

First:

> # rpm -ql dell-omsa-repository 
> /usr/etc/yum.repos.d/dell-omsa-repository.repo

notice that the path is prepended with '/usr'.  Whoops?

Furthermore, the RPM scripts too intend to operate on a file at that 
location:

> # rpm -q --scripts dell-omsa-repository 
> postinstall scriptlet (using /bin/sh):
> [ -z "$IN_BOOTSTRAP_ALREADY" ] || exit 0
> 
> # we'll re-bootstrap on rpm upgrade.
> if [ -e /usr/etc/yum.repos.d/dell-omsa-repository.repo ]; then
>    bootstrap_url=$(grep ^bootstrapurl= 
> /usr/etc/yum.repos.d/dell-omsa-repository.repo 2>/dev/null | cut -d= 
> -f2-)
> fi

> # if not set, check old dell-hw-indep yum repo config (This is for 
> upgrades)
> if [ -z "$bootstrap_url" -a -e 
> /usr/etc/yum.repos.d/dell-hw-indep-repository.repo ]; then
>     bootstrap_url=$(grep ^mirrorlist= 
> /usr/etc/yum.repos.d/dell-hw-indep-repository.repo 2>/dev/null | head 
> -n1 | cut -d= -f2-)
>     bootstrap_url=${bootstrap_url%/mirrors*}
> fi
> 
> # if still not set, check old dell-mirror.cfg
> if [ -z "$bootstrap_url" -a -e /etc/dell-mirror.cfg ]; then
>     . /etc/dell-mirror.cfg
>     bootstrap_url=${HARDWARE_SERVER}${HARDWARE_REPO_URL}
> fi
> 
> # failsafe fallback. not great, but what can you do?
> if [ -z "$bootstrap_url" ]; then
>     bootstrap_url=http://linux.dell.com/repo/hardware/latest/
> fi
> 
> if [ -n "$bootstrap_url" ]; then
>     export RECURSIVE_RPM=1
>     wget -O- -q $bootstrap_url/bootstrap.cgi | bash
> fi
> postuninstall program: /bin/sh

And, as expected, I have a directory structure created at:

  /usr/etc/yum.repos.d

not good...

So I went ahead and grabbed the src.rpm from here:
  
http://linux.dell.com/repo/hardware/2015_Q1/platform_independent/rh60_64/prereq/

inspected the .spec file (didn't change anything), and rebuilt the rpm.  
Now everything is correct (no '/usr' prepended to paths).

That said, the issue appears to be that %{_sysconfdir} on the build 
machine is likely set to '/usr/etc', instead of just '/etc'.  This can 
be verified by running:

  rpm --eval %{_sysconfdir}

in the build environment.

Please correct the build environment on the build machine.  Thanks,

-Chad



More information about the Linux-PowerEdge mailing list