- A server with FTP access
- Some degree of familiarity with PPM and Woof.
In my case, I created a repository for Insidious Puppy, a wooflet I'm working on. It has its own kernel, third-party drivers (nvidia, etc') and artwork, so I wanted an unofficial repository just for it.
This repository can also be used for applications and packages made for it once it's released, so it's great in case I want some good package to be availalble to all users through PPM.
It took around 10 minutes to set it up, with the uploading in the background.
Step 1: get all your PET packages and put them in one directory. In this example, I named mine "pet_packages-sid", here it is.
Step 2: for each of the PET packages, get its pet.specs and put all of them in one file - each line is one pet.specs.
To get the pet.specs of a PET package, do this:
1) extract it:
Code: Select all
tar xzvf <PET package>
Just get all the pet.specs of all your packages and copy them into one file. For instance, mine is named "Packages-puppy-sid-unofficial", here it is. Put this file in the same directory as the directory with the PET packages and make a copy in /root/.packages.
Step 3: upload both the file and the directory with the PET packages to your server.
Step 4: open /root/.packages/DISTRO_PET_REPOS (or Woof's DISTRO_PET_REPOS) with a text editor.
Now, create an entry for your repo in this format:
Code: Select all
base URL of the server|the URL of the pet.specs list on the server|the pet.specs list file name
Code: Select all
brainwavedesigncentral.net|http://www.brainwavedesigncentral.net/dima/Packages-puppy-sid-unofficial|Packages-puppy-sid-unofficial
Create another entry, in this format:
Code: Select all
base URL of the server|the repository base URL, where the directory and pet.specs list are|the pet.specs list file name
Code: Select all
brainwavedesigncentral.net|http://www.brainwavedesigncentral.net/dima|Packages-puppy-sid-unofficial
Add this entry to PET_REPOS as you did with PKG_DOCS_PET_REPOS.
Now, the repo is listed and available; you just need to enable it in your Puppy through PACKAGELISTS_PET_ORDER.
If you want to add this repository to Woof, you'll need to choose where to add it. If you use Lupu or Wary, find the code specific to your Puppy, add it to the repos list and choose the priority you want to give it (i.e if it's the first repo, its packages will be used instead of other matches from other repos) or last (good if it has only unique packages that don't exist on other repos, so it doesn't slow down package lookup).
If it's just for a running Puppy (or if you want it to be the top-priority repo for any Puppy built with your Woof), it doesn't matter at all.
Simply add this at the end of the file:
Code: Select all
PACKAGELISTS_PET_ORDER="<the pet.specs list> ${PACKAGELISTS_PET_ORDER}"
Code: Select all
PACKAGELISTS_PET_ORDER="Packages-puppy-sid-unofficial ${PACKAGELISTS_PET_ORDER}"
And don't forget, some packages don't have categories, so search for "*" in PPM to see all the packages in your repo.