====== rPath/openfiler - create own conary package (TSM Client) ====== Um den TSM Client unter Openfiler nutzen zu können, sind mehrere Schritte nötig. FIXME - noch nicht fertig - draft - ===== conary setup environment ===== * Wir benötigen den Befehl ''cvc''. conary update group-devel Including extra troves to resolve dependencies: conary:python=2.0.45-0.1-1 conary:runtime=2.0.45-0.1-1 Performing critical system updates, will then restart update. Applying update job 1 of 2: Update conary-build:python (2.0.44-0.1-1 -> 2.0.45-0.1-1) Update conary-repository:python (2.0.44-0.1-1 -> 2.0.45-0.1-1) Applying update job 2 of 2: Update conary:python (2.0.44-0.1-1 -> 2.0.45-0.1-1) Update conary:runtime (2.0.44-0.1-1 -> 2.0.45-0.1-1) Critical update completed, rerunning command... Applying update job 1 of 2: Update conary (2.0.44-0.1-1 -> 2.0.45-0.1-1) Update conary-build(:doc :lib :runtime) (2.0.44-0.1-1 -> 2.0.45-0.1-1) Update conary-policy(:doc :lib) (1.0.23-0.1-1 -> 1.0.24-0.1-1) Update conary-repository(:data) (2.0.44-0.1-1 -> 2.0.45-0.1-1) Applying update job 2 of 2: Update group-devel (1.0.7-0.37-11[~kernel.debugdata,sasl is: x86(~!sse2)] -> 1.0.7-0.37-13[~kernel.debugdata,sasl is: x86(~!sse2)]) ===== Recipe erstellen ===== * Unter einem ''non-root'' User können wir unser Paket vorbereiten. su - builder cvc newpkg TIVSM cd !$ cat > TIVSM.recipe << EOF class TIVSM(PackageRecipe): name = 'TIVSM' version = '6.1.1.0' buildRequires = [] def setup(r): r.addArchive('ftp://ftp.software.ibm.com/storage/tivoli-storage-management/' 'maintenance/client/v6r1/Linux/LinuxX86/v610/' '6.1.0.0-TIV-TSMBAC-LinuxX86.tar') r.Run('pwd') r.Run('rpm2cpio ../TIVsm-API.i386.rpm | cpio -idmuv') r.Run('rpm2cpio ../TIVsm-BA.i386.rpm | cpio -idmuv') Mittels ''cvc cook TIVSM.recipe'' können wir den Erstellvorgang starten. ===== Current Problems ===== Tivoli Storage Manager benötigt eine ganz bestimmte GCC Version. LD_LIBRARY_PATH=./opt/tivoli/tsm/client/ba/bin:./opt/tivoli/tsm/client/api/bin ./usr/bin/dsmc ./usr/bin/dsmc: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.1' not found (required by ./usr/bin/dsmc) * /usr/lib/libstdc++.so.6 ist vorhanden, aber mit einer anderen GCC Version gebaut :-( ===== TIVsm-5.5.2.0 ===== class TIVSM(PackageRecipe): name = 'TIVSM' version = '5.5.2.0' buildRequires = ['libstdc++'] def setup(r): r.addArchive('ftp://ftp.software.ibm.com/storage/tivoli-storage-management/' 'maintenance/client/v5r5/Linux/LinuxX86/v552/' '5.5.2.0-TIV-TSMBAC-LinuxX86.tar') r.Run('rpm2cpio ../TIVsm-API.i386.rpm | cpio -idmuv') r.Run('rpm2cpio ../TIVsm-BA.i386.rpm | cpio -idmuv') r.Run('cd opt/tivoli/tsm/client/ba/bin ; ln -s ../../lang/en_US .') r.Run('pwd') ...