RPM/YUM Tips on OS/2-eCS

This are some RPM/YUM general tips that I need to write somewhere to don't forget them.

List repository content
yum list or search something more specifically like the "gcc" available yum list gcc*

Install something
yum install  Ex: yum install libc Ex. with several packaged: yum install libc gcc-4.4.4 gcc-4.7.3 openssl curl libjpeg libxslt libicu zlib libxml2 mmap pthread urpo libstdc++6

Reinstall Something
yum install  Ex: yum reinstall coreutils

Update all the stuff you have installed
yum update

Install RPM
Sometimes RPM did not get automatically updated or installed. You can manually install them again with: yum install rpm

Installing the Netlabs Experimental Repository
There is other repository for netlabs experimental stuff. You can use it under your risk.

This repository can be installed do running from a command line the following: yum install netlabs-exp It can also be set manually by creating a file under: x:\etc\yum\repos.d\netlabs-exp.repo with content: [netlabs-exp] name=Netlabs experimental repository $releasever - $basearch baseurl=http://rpm.netlabs.org/experimental/$releasever/$basearch/ enabled=1

If you want to remove it later you can execute a : yum remove netlabs-exp

Where can I get the binary files of the netlabs repository if I don't use RPM
The netlabs release and experimental repositories files are available on the following site: Those can be downloaded as zip files.
 * http://rpm.netlabs.org/

Clean
yum clean all

Check
This command check is the dependencies of the packaged are installed correctly. yum check

RebuildDB
If your RPM database got corrupted you can use: rpm --rebuilddb

Search for file
You can search (remember that is case sensitive) for a file and find which package contains it like:

yum whatprovides */libcn0.dll

which outputs:

1:libc-0.1.7-1.oc00.i686 : Standard Shared Libraries Repo       : netlabs-exp Matched from: Filename   : /@unixroot/usr/lib/libcn0.dll

Or something like: yum whatprovides */mmioos2*

Search for a package
If you want to search for a package name you can do something like: yum search libc | more

shows: libc-debuginfo.i686 : Debug information for package libc libcx.i686 : kLIBC Extension Library libcx-debuginfo.i686 : Debug information for package libcx libc.i686 : Standard Shared Libraries

Installation
This is a quick reminder on how you have to install YUM. Just to validate, open an OS/2 console and run "yum" and "yum list" to see you don't have any errors.
 * Install YUM Bootstrap WPI.
 * Check your paths as it ask on the readme.
 * Maybe it can be good to reboot.
 * Run YUM bootstrap console.
 * Run "yum install yum rpm".
 * Reboot.
 * Uninstall with WarpIN the YUM bootstrap.

Unpacking a RPM file
If you have a .rpm file and you don't want to install it, and just unpack it to review its contents you can use the rpm2cpio command like: rpm2cpio peg-e-1.2.7-1.i686.rpm | cpio -idmv

Troubleshooting
Some of the quick tips:
 * Review any duplicated files on the Libpath between X:\ecs\dll and x:\usr
 * Make a "yum clean all", sometime it works.

Error: No such table: packages
If you get this error maybe a "yum clean all" can help a little bit.

Error:
 C:\usr\share\yum-cli]yum raceback (most recent call last): File "C:\TMP\YUMBT\USR\BIN\YUM", line 29, in   yummain.user_main(sys.argv[1:], exit_code=True) File "/@unixroot/usr/share/yum-cli/yummain.py", line 288, in user_main errcode = main(args) File "/@unixroot/usr/share/yum-cli/yummain.py", line 98, in main base.getOptionsConfig(args) File "/@unixroot/usr/share/yum-cli/cli.py", line 253, in getOptionsConfig (opts, self.cmds) = self.optparser.setupYumConfig(args=args) File "/@unixroot/usr/share/yum-cli/cli.py", line 1599, in setupYumConfig self.base.setupKeyImportCallbacks File "/@unixroot/usr/share/yum-cli/output.py", line 1225, in setupKeyImportCal backs gpgca_import_func = self.getCAKeyForRepo ttributeError: 'YumBaseCli' object has no attribute 'getCAKeyForRepo' 

Error: error: unpacking of archive failed on file : cpio: Digest mismatch
 Error unpacking rpm package libjpeg-8c-1.oc00.i386 error: unpacking of archive failed on file /@unixroot/usr/bin/cjpeg.exe;56031939
 * cpio: Digest mismatch



Possible Solution
Check the duplicated files on the LIBPATH (check on eComStation Kernel on System Setup). There can be duplicated DLLs between x:\eCS\DLL and x:\usr\lib