PPKG Puppy Linux Package Handler
Posted: Tue 13 Oct 2009, 11:59
Preface
I started this topic originally because of performance problems in the Puppy Linux package management of Woof and the Pet Package Manager.
But it mixed two topics:
1. PPKG Puppy Linux Package Handler
2. PPKG C-Programming Contest
So I have decided to split them. If you are a skilled C programmer you might want to participate at the PPKG C-Programming Contest. There you also can read why and how the project was started.
This discussion will continue with the Puppy Linux Package Handler
PPKG Puppy Linux Package Handler
The package management in Puppy Linux is largely done by shell scipts. This concept causes performance problems for some extensive tasks. For these tasks I have designed ppkg.
At the moment ppkg is able to transform Debian/Ubuntu-Package-Info files to Puppy Linux Package-Database files with an enourmous speed win.
E.g.: The original shell script needs about one hour for the conversion of the Debian Lenny Package Info ppkg less than 400 ms.
Concept
The basic operation is to convert Debian/Ubuntu-Package-Infos like:
Package: abiword
Priority: optional
Section: editors
Installed-Size: 7352
Maintainer: Masayuki Hatta (mhatta) <mhatta@debian.org>
Architecture: i386
Version: 2.6.4-5
Replaces: abiword-gnome
Provides: abiword-gnome
Depends: libaiksaurus-1.2-0c2a (>= 1.2.1+dev-0.12), libaiksaurusgtk-1.2-0c2a (>= 1.2.1+dev-0.12)
Recommends: abiword-plugin-grammar, abiword-plugin-mathview, abiword-help
Suggests: abiword-plugin-goffice
Conflicts: abiword-gnome
Filename: pool/main/a/abiword/abiword_2.6.4-5_i386.deb
Size: 2882324
MD5sum: 7fabfdf5ea014d67541441b930674ff0
SHA1: 792d8d83177ef23cc802b7c249b47b12fa797031
SHA256: c642cd84e17d9e0e88c539f10e812ea187d8a2861acc2566ff1ca21a555ead3d
Description: efficient, featureful word processor with collaboration
to Puppy-Package-Database rows:
abiword_2.6.4|abiword|2.6.4|5|Document|7352K|pool/main/a/abiword|
abiword_2.6.4-5_i386.deb|
+libaiksaurus-1.2-0c2a,+libaiksaurusgtk-1.2-0c2a,+libart-2.0-2|efficient featureful word processor with collaboration|
Additionally these packages must be assigned to the categories for the package management in Puppy Linux. This is done by puppy-category-files (extension ctg), that assign the packages to their category. They look like:
[Category-Name]
package-1
package-2
...
Usage
ppkg is intended to be inserted into the original shell scripts of Puppy Linux. But if you want to do the conversion by hand you have to proceed as follows (Example for Debian Lenny):
Download the Package-Info-file from the distribution repository
http://http.us.debian.org/debian/dists/ ... ckages.bz2
You convert it by calling:
ppkg -c debian -i lenny.ctg -x debug Packages Packages-debian-lenny-main
To get a short description of the options, call:
ppkg -?
To do
ppkg at it's present state can only convert Debian and Ubuntu packages. Using the concepts and algorithms I used for Debian it shouldn't be a big problem to the conversion of other package formats as there are:
1. Slackware
2. Arch
If you want to realize one of them let me know and I will support you.
The appended software includes all files needed to compile the program and do some tests.
I started this topic originally because of performance problems in the Puppy Linux package management of Woof and the Pet Package Manager.
But it mixed two topics:
1. PPKG Puppy Linux Package Handler
2. PPKG C-Programming Contest
So I have decided to split them. If you are a skilled C programmer you might want to participate at the PPKG C-Programming Contest. There you also can read why and how the project was started.
This discussion will continue with the Puppy Linux Package Handler
PPKG Puppy Linux Package Handler
The package management in Puppy Linux is largely done by shell scipts. This concept causes performance problems for some extensive tasks. For these tasks I have designed ppkg.
At the moment ppkg is able to transform Debian/Ubuntu-Package-Info files to Puppy Linux Package-Database files with an enourmous speed win.
E.g.: The original shell script needs about one hour for the conversion of the Debian Lenny Package Info ppkg less than 400 ms.
Concept
The basic operation is to convert Debian/Ubuntu-Package-Infos like:
Package: abiword
Priority: optional
Section: editors
Installed-Size: 7352
Maintainer: Masayuki Hatta (mhatta) <mhatta@debian.org>
Architecture: i386
Version: 2.6.4-5
Replaces: abiword-gnome
Provides: abiword-gnome
Depends: libaiksaurus-1.2-0c2a (>= 1.2.1+dev-0.12), libaiksaurusgtk-1.2-0c2a (>= 1.2.1+dev-0.12)
Recommends: abiword-plugin-grammar, abiword-plugin-mathview, abiword-help
Suggests: abiword-plugin-goffice
Conflicts: abiword-gnome
Filename: pool/main/a/abiword/abiword_2.6.4-5_i386.deb
Size: 2882324
MD5sum: 7fabfdf5ea014d67541441b930674ff0
SHA1: 792d8d83177ef23cc802b7c249b47b12fa797031
SHA256: c642cd84e17d9e0e88c539f10e812ea187d8a2861acc2566ff1ca21a555ead3d
Description: efficient, featureful word processor with collaboration
to Puppy-Package-Database rows:
abiword_2.6.4|abiword|2.6.4|5|Document|7352K|pool/main/a/abiword|
abiword_2.6.4-5_i386.deb|
+libaiksaurus-1.2-0c2a,+libaiksaurusgtk-1.2-0c2a,+libart-2.0-2|efficient featureful word processor with collaboration|
Additionally these packages must be assigned to the categories for the package management in Puppy Linux. This is done by puppy-category-files (extension ctg), that assign the packages to their category. They look like:
[Category-Name]
package-1
package-2
...
Usage
ppkg is intended to be inserted into the original shell scripts of Puppy Linux. But if you want to do the conversion by hand you have to proceed as follows (Example for Debian Lenny):
Download the Package-Info-file from the distribution repository
http://http.us.debian.org/debian/dists/ ... ckages.bz2
You convert it by calling:
ppkg -c debian -i lenny.ctg -x debug Packages Packages-debian-lenny-main
To get a short description of the options, call:
ppkg -?
To do
ppkg at it's present state can only convert Debian and Ubuntu packages. Using the concepts and algorithms I used for Debian it shouldn't be a big problem to the conversion of other package formats as there are:
1. Slackware
2. Arch
If you want to realize one of them let me know and I will support you.
The appended software includes all files needed to compile the program and do some tests.