zypper, lets make things better

zypper shipped with openSUSE 10.3 doesnt run well with 256mb of physical memory. Thats fine, maybe i should stop running antique hardware.

zypper has also been reported to be very very slow. Thats fine, yum was slow to begin with too.

zypper has had bug report after bug report asking for features that other package management utilities have had for while. Thats fine, zypper is new.. it will be fixed next version.

So lets build and install the next version of zypper from the latest source control revision and make things better. At the time of this post, the zypper version within subversion was 0.10.5.

$ sudo zypper install subversion libzypp-devel cmake gcc-c++ pkg-config boost-devel gettext-devel readline-devel
$ mkdir ~/src && cd ~/src
$ svn co http://svn.opensuse.org/svn/zypp/trunk/zypper
$ cd zypper
$ cmake .
$ make
If you're crazy enough to install freshly built binaries and libraries on your system that arent managed by your vendors package manager then go ahead and type
$ sudo make install
On the other hand, if you want an RPM.. lets make one
$ make srcpackage
$ cd package
$ tar jxvf zypper-0.10.5.tar.bz2 
$ rm -f zypper-0.10.5.tar.bz2 zypper-0.10.5/CmakeCache.txt
$ tar jcvf zypper-0.10.5.tar.bz2 zypper-0.10.5/
$ cp zypper.spec ~/rpm/SPECS/
$ cp zypper-0.10.5.tar.bz2 ~/rpm/SOURCES/
$ rpmbuild -ba --target `arch` ~/rpm/SOURCES/zypper.spec
$ sudo rpm -Uvh ~/rpm/RPMS/`arch`/zypper-0.10.5-0.`arch`.rpm
The above assumes you have a working RPM build directory structure in ~/rpm and your ~/.rpmmacros file is setup accordingly. If this is not the case and you're not sure how to setup the RPM build directory structure then follow this tutorial.

I was also running libzypp 4.4.2-2 which seems to be compatible with zypper 0.10.5.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Captcha
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
five + six =
Solve this math question and enter the solution with digits. E.g. for "two plus four = ?" enter "6".