site  contact  subhomenews

Package repositories

March 08, 2009 — BarryK
I have added a feature to the 'Configure' window in the Puppy Package Manager, to choose which repositories will appear in the main GUI window.

I decided that the actual process of adding a new repository, so that it will be listed in the package manager GUI window, requires manual steps, so I wrote a HOWTO. The 'Configure' window has a button that brings up this HOWTO.

Adding a repository is something that will be of interest mostly to Puppy-developers and PET repository maintainers.

It's quite a simple process, just editing a file to add URLs and the name of the package database file. The package database file is named like this, 'Packages-puppy-4-official', and has entries in the new standardised format.

I have also written a page that introduces the new standardised format:

There is also a script available in the upcoming alpha3 release of Woof, that will convert the old 'packages.txt' file to the new format.

Note that there is a naming convention for the 'Packages-puppy-4-official' file:
'puppy' identifies this as a PET repository.
'4' repo has packages for Puppy 4.x.
'official' a unique identifier for the repository, in this case 'official' is the ibiblio repo.

It is quite simple for someone to add a PET repo to a Woof-built Puppy. As I stated, edit a couple of files to provide the URL and the name of the 'Packages-' file. The 'Packages-' file is located at the repository and can be downloaded by the package manager, so the maintainer would have to keep it up-to-date as packages are added or removed.


auto update
Username: dinky
Love where you're going with this, adding a new repository is a great idea. Two additional features I'd love to see: 1. Being able to add a new repository from the command line, and, 2. Having some notification where the end user is told that the package repositories have changed, and they need to update. Great work!

adding repositories
Username: dogone
"I also "love" where this new PM is headed. My imagination is going wild. *Just what nature of "added" software repository is Woof capable of processing? *If there are constaints, can users get into trouble by ignoring them? *Will this be documented and safety nets put in place? *Can Puppy users be trusted with all the power in the Universe?

Re: going wild
Username: BarryK
"PPM can download package-database-files for any of the Debian, Ubuntu, Slackware, Arch or Puppy repositories. Except for the Puppy repos that are expected to have a Packages-* file in the new standardised format, the others are all automatically converted. However, I put in a constraint. You can only add PET repos or those of the "compatible distro". So, if Puppy was built from Slackware packages then only PET and Slackware repos can be added. The database download script ('0setup' from Woof is also used in a running Puppy for updating the databases) could be hacked though to accept other types. I was a bit wary of building say a Slackware-Puppy and then adding Ubuntu repos to the package manager!

Compatible distro
Username: BarryK
"The "compatible distro" is Puppy 4.0/4.1. Which was originally compiled in T2. That is, 4.3 is built from the PET packages used in the 4.x series.

Username: 01micko
"Ok, a bit of blowing my own trumpet here. I wrote a small script called "Versioninfo" that shows the puppy number, kernel and compatible distro on boot or x restart, appearing for sixty seconds in the task bar(if it is built from woof :cool: , also works in older puppies) Get it here Cheers

Tags: woof