On Tue, 10 Jan 2006, Frank Steiner <[EMAIL PROTECTED]>
wrote:-
>My fault. While hacking around with the source directories, I had
>created a copy without the x86_64 tree.
>
>I.e.: It is enough to copy all 10 CDs, 5 for i386, 5 for x86_64,
>into the same directory but use the contents file from the x86_64
>version.
Not for a YaST repository. You need a few files for YaST to be able to
use your repository. I maintain a local repository[0] for files I've
packaged, for several different SUSE versions (9.0 to 10.1alpha), the
directory arrangement like this:
$VERSION
$VERSION/media.1
$VERSION/suse
$VERSION/suse/i586
$VERSION/suse/i686
$VERSION/suse/noarch
$VERSION/suse/setup
$VERSION/suse/setup/descr
$VERSION/suse/src
$VERSION/suse/x86_64
and a script to build each of the repositories. After stripping out the
unnecessary bits, here's the important bits:
[!-- start of script --]
#!/bin/bash
#
# This needs to be called with the current working directory being
# where you're building the repository, and is the same place that
# contains the media.1 and suse directories.
#
# build media file
#
printf "%s\n" "davjam" > "media.1/media"
# ^^^^^^ change this to whatever you wish
printf "%s\n" $(date +%Y%m%d%H%M%S) >> "media.1/media"
printf "1\n" >> "media.1/media"
# build content file
#
printf "PRODUCT %s\n" "davjam (SUSE LINUX $VERSION)" >content
# ^^^^^^ ^^^^^^^^ and change these
printf "VERSION %s\n" "$i"-0 >>content
printf "LABEL %s\n" "davjam (SUSE LINUX $VERSION)" >>content
# ^^^^^^ ^^^^^^^^ and change these
printf "VENDOR %s\n" "davjam" >>content
# ^^^^^^ and change this to match whatever
# is placed in media.1/media
# only include if x86_64 packages present
#
printf "ARCH.x86_64 %s\n" "x86_64 i686 i586 i486 i386 noarch" >>content
# only include if i686 packages present
#
printf "ARCH.i686 %s\n" "i686 i586 i486 i386 noarch" >>content
printf "ARCH.i586 %s\n" "i586 i486 i386 noarch" >>content
printf "DEFAULTBASE %s\n" "i586" >>content
printf "DESCRDIR %s\n" "suse/setup/descr" >>content
printf "DATADIR %s\n" "suse" >>content
# build directory list file
#
ls -Al > directory.yast
cd suse
# remove older package versions
#
rm -rf {x86_64,i586,i686,noarch,src}/MD5SUMS
# build the MD5SUMS for each directory
#
for k in x86_64 i586 i686 noarch src
do
# skip non-existent directories
#
[ ! -d "$k" ] && continue
# check there's any files present
#
j=$(find "$k" -type f -name "*.rpm")
if [ -n "$j" ]
then
pushd "$k" >/dev/null 2>&1
md5sum * >MD5SUMS
popd >/dev/null 2>&1
fi
done
# build directory list file
#
ls -Al > directory.yast
# create package descriptions
#
create_package_descr -x setup/descr/EXTRA_PROV \
-l english \
-l french \
-l german \
-l spanish \
-l czech \
-l hungarian \
-l italian
# make a list of selections available
#
cd setup/descr
find -name "*.sel" -type f | \
while read i
do
basename "$i" >>selections
done
# create selections list if not already present
#
[ ! -s "selections" ] && touch selections
# generate the md5sums
#
md5sum * >MD5SUMS
# and the directory.yast file
#
ls -Al > directory.yast
# we've finished
#
exit 0
[!-- end of script --]
Regards,
David Bolt
--
Member of Team Acorn checking nodes at 50 Mnodes/s: http://www.distributed.net/
AMD1800 1Gb WinXP/SUSE 9.3 | AMD2400 256Mb SuSE 9.0 | A3010 4Mb RISCOS 3.11
AMD2400(32) 768Mb SUSE 10.0 | RPC600 129Mb RISCOS 3.6 | Falcon 14Mb TOS 4.02
AMD2600(64) 512Mb SUSE 10.0 | A4000 4Mb RISCOS 3.11 | STE 4Mb TOS 1.62
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]