Mailinglist Archive: opensuse-buildservice (354 mails)

< Previous Next >
Re: [opensuse-buildservice] Local BS installation :: expansion errors
  • From: Robert Schiele <rschiele@xxxxxxxxx>
  • Date: Wed, 14 Feb 2007 10:13:34 +0100
  • Message-id: <20070214091334.GG25943@xxxxxxxxxxxxxxxxxx>
On Wed, Feb 14, 2007 at 12:36:57AM -0700, Srinidhi B wrote:
> |-- SUSE:SL-10.1
> | `-- standard
> | `-- i586
> | |-- :full
> | | |-- ARCHIVES.gz
> | | |-- COPYING
> | | |-- COPYING.de
> | | |-- COPYRIGHT
> | | |-- COPYRIGHT.de
> | | |-- ChangeLog
> | | |-- INDEX.gz
> | | |-- README
> | | |-- README.BETA
> | | |-- README.DOS
> | | |-- boot
> | | |-- content
> | | |-- content.asc
> | | |-- content.key
> | | |-- control.xml
> | | |-- directory.yast
> | | |-- docu
> | | |-- gpg-pubkey-0dfb3188-41ed929b.asc
> | | |-- gpg-pubkey-307e3d54-44201d5d.asc
> | | |-- gpg-pubkey-3d25d3d9-36e12d04.asc
> | | |-- gpg-pubkey-7e2e3b05-44748aba.asc
> | | |-- gpg-pubkey-9c800aca-40d8063e.asc
> | | |-- gpg-pubkey-a1912208-446a0899.asc
> | | |-- ls-lR.gz
> | | |-- media.1
> | | |-- pubring.gpg
> | | `-- suse

Don't copy the full media contents there. Instead copy them somewhere else and
use something like the following script to link the files to the appropriate
place:

>>>>>
#!/bin/bash

set -eu

OBS_BUILD_DIR=/srv/obs/build

stackarch()
{
P1=$1
P2=$2
P3=$3
shift 3
echo " architecture $P3"
for FILE in $P2/$P3/*.$P3.rpm; do
if test -r $FILE; then
NAME=$(rpm -qp --qf '%{name}' $FILE)
for ARCH in $*; do
test -r $OBS_BUILD_DIR/$P1/$ARCH/:full/$NAME.rpm || \
ln -s $FILE $OBS_BUILD_DIR/$P1/$ARCH/:full/$NAME.rpm
done
fi
done
}

stack()
{
echo "stacking $1 from $2"
for ARCH in x86_64 i686 i586; do
rm -rf $OBS_BUILD_DIR/$1/$ARCH/:full
mkdir -p $OBS_BUILD_DIR/$1/$ARCH/:full
done
stackarch $* x86_64 x86_64
stackarch $* i686 x86_64 i686
stackarch $* i586 x86_64 i686 i586
stackarch $* ppc64 ppc64
stackarch $* ppc ppc64 ppc
stackarch $* noarch x86_64 i686 i586 ppc64 ppc
}

if false; then
stack 9.2/oss /pub/suse/install/9.2/suse
stack 9.3/oss /pub/suse/install/9.3/suse
stack 10.0/oss /pub/opensuse/distribution/SL-10.0-OSS/inst-source/suse
stack 10.0/java /pub/opensuse/distribution/SL-10.0-OSS/inst-source-java/suse
stack 10.0/non-oss /pub/suse/install/10.0/inst-source-extra/suse
stack 10.1/oss /pub/opensuse/distribution/SL-10.1/inst-source/suse
stack 10.1/non-oss /pub/opensuse/distribution/SL-10.1/non-oss-inst-source/suse
stack 10.2/oss /pub/opensuse/distribution/10.2/repo/oss/suse
stack 10.2/non-oss /pub/opensuse/distribution/10.2/repo/non-oss/suse
fi
if true; then
for i in 9.2 9.3 10.0 10.1 10.2; do
stack $i/update /pub/suse/update/$i/rpm
done
fi
if true; then
stack 10.3/oss /local/pub/install/inst-source/suse
stack 10.3/non-oss /local/pub/install/inst-source-extra/suse
fi
<<<<<

Just replace the stack commands in the lower part with those matching your
pathes like:

stack SUSE:SL-10.1/standard /path/to/your/10.1/media/suse

If you don't want to link all platforms mentioned above just remove those that
you don't want from the stackarch table but since these are only symbolic
links it does not hurt that much if you leave them.

Robert

--
Robert Schiele
Dipl.-Wirtsch.informatiker mailto:rschiele@xxxxxxxxx

"Quidquid latine dictum sit, altum sonatur."
< Previous Next >
Follow Ups
References