Package repositories

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.

Posted on 8 Mar 2009, 9:33


Posted on 8 Mar 2009, 10:50 by dinky
auto update
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!

Posted on 8 Mar 2009, 12:02 by dogone
adding repositories
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?

Posted on 8 Mar 2009, 17:09 by BarryK
Re: going wild
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!

Posted on 27 Sep 2009, 8:10 by Frood
Clarification needed
I love this idea, but I have one problem - I don't know what "compatible distro" my puppy was built from. I'm using straight Puppy 4.3 right now, with the addition of XAMPP

Posted on 28 Sep 2009, 9:01 by BarryK
Compatible distro
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.

Posted on 28 Sep 2009, 19:45 by 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 , also works in older puppies)
Get it here