This tool has many advantages:
1) Compatibility - one build script and you have a package for any Puppy (well, theoretically) one-click away.
2) In most cases, you can change the package version field in the build script and there you have the latest version. Very convenient.
3) No need to host sources or binary packages, just tiny text files that define how to build each package.
4) It's way cooler than traditional PET packages
The name is Puppizard, because it's a system that allows you to build packages automatically ... like magic. It is named after the wonderful Sorcery from Salix OS.
This thing allows you to install packages from source (i.e download their sources, build them locally, strip them and install) easily. It was written and tested on 5.2.5.
It has minimal dependencies: xz and Dash. AdvanceCOMP and OptiPNG are recommended.
Packages built using Puppizard come without static libraries, which waste space and harm compatibility. Also, they lack debugging symbols.
Also, I must note that in some cases Puppizard only re-packages binary packages made by someone else. For example, in the cases of Opera and Flash (since they're non-free) and Libreoffice (because it would take ages and lots of space to build). Believe me, there's a good reason for this.
It is also possible to use Puppizard to package browsers (or other packages) with built-in update functionality (Firefox, Chrome, ...), so puplets that have them built-in don't become "deprecated" quickly.
Before installing a new version, make sure you completely remove the previous one.
And by the way, USE AT YOUR OWN RISK.
Changelog
001:
- first version.
002:
- A message box when Yad is missing
- Solved the hanging bug vovchik reported for Puppizard
- Each build script now creates a stripped package through strippkg and dir2pkg; the latter calls petget and offers the user to install it
- Minor improvements and bug fixes for the build scripts
- A note appears when AdvanceCOMP or OptiPNG are not present.
003:
- A message appears if you don't have the devx installed.
- Small bug fixes for build scripts
- The build scripts are now organized in directories
- More bug fixes
004:
- Rewritten from scratch
- installpkg and removepkg
- Many new features
- Rewritten build scripts
- Major bug fixes
- Profiles go to /usr/share/pkg and both build scripts and installed package info go to /var/pkg
005:
- Modularity!
- A global configuration file: /etc/puppizardrc
- Installed package data now goes to /root/.puppizard
- Many bug fixes
- "--download-only", "--build-only" and "--install" flags for buildpkg; these allow offline builds without internet connectivity or automated build & install operations
- Many, many new build scripts, including one for the Luxi fonts and a beta-quality LibreOffice one
- Improvements to the E17 build scripts
- Desktop integration with ROX-Filer, etc'
006:
- Various bug fixes
007:
- ncurses frontend
- Removed the Yad frontend
- ttuuxxx' icon
008:
- A build script repository and puppizard-update: downloading of the latest build scripts, automatically
Why It's Cool
Here's how to build the whole E17, a-la-Puppizard:
Code: Select all
#!/bin/sh
CORE_PKGS="eina eet evas ecore embryo edje efreet e_dbus eeze e"
EXTRA_PKGS="alarm calendar cpu diskio efm_nav efm_pathbar engage execwatch mem net tclock uptime winselector wlan"
for package in $CORE_PKGS $EXTRA_PKGS
do
buildpkg --install $package
[ $? -ne 0 ] && break
done