Common installation repository for i386 and x86_64?
Hi, I'm trying to setup one installation repository containing both the i386 and the x86_64 sources for 10.0.42 (10.1. alpha 4), just like the DVD would do it (and does it for 10.0 etc.). However, I fail to do so. Just copying all the CDs in the same directory seems to be the wrong way. I copied the i386 after the x86_64 cds, then a x86_64 host installs only noarch packages and complains that there is no ARCH.x86_64 line. I solved this by taking the "contents" file from the x86_64 cds, but now autoyast doesn't find the x86_64 packages like aaa_skel. Before I try overwriting anything else: Is there an easy way to merge the CDs into one install repository like the DVD for 10.1 will have it? cu, Frank -- Dipl.-Inform. Frank Steiner Web: http://www.bio.ifi.lmu.de/~steiner/ Lehrstuhl f. Bioinformatik Mail: http://www.bio.ifi.lmu.de/~steiner/m/ LMU, Amalienstr. 17 Phone: +49 89 2180-4049 80333 Muenchen, Germany Fax: +49 89 2180-99-4049 * Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. *
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. cu, Frank -- Dipl.-Inform. Frank Steiner Web: http://www.bio.ifi.lmu.de/~steiner/ Lehrstuhl f. Bioinformatik Mail: http://www.bio.ifi.lmu.de/~steiner/m/ LMU, Amalienstr. 17 Phone: +49 89 2180-4049 80333 Muenchen, Germany Fax: +49 89 2180-99-4049 * Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. *
On Tue, 10 Jan 2006, Frank Steiner
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
On Wed, 11 Jan 2006, David Bolt
use your repository. I maintain a local repository[0] for files I've
Forgot to include the [0] :-/ [0] It's accessible through a web server and I set it up this way for two reasons: 1, I don't need to worry about NFS mounts for my networked machines, especially since I occasionally get permission refused errors with some mounts; 2, it means I can share the packages I've built with others and they get a choice over how they get the packages, either by configuring my server as a YaST repository, or by going to the web page for each package and downloading it from there. 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
participants (2)
-
David Bolt
-
Frank Steiner