As 01mickos first post is a bit messy..
Here is a guide to make things easy as possible (if people want to try out PetBuild for themselves):
(But bear in mind I'm no expert
at all on these things...
And feel free to ignore this entire thread and compile as usual if u prefer, but some of 01mickos good work will get wasted in that case)
Requirements: Devx installed.
1. Install PetBuild (inc build scripts) to /usr/share/petbuild and go there:
Code: Select all
git clone https://github.com/puppylinux-woof-CE/petbuilds.git /usr/share/petbuild
cd /usr/share/petbuild
2. Then (annoyingly) to see the buildscripts, you have to choose a branch:
The reason for this, is that PetBuild was/is (primarily) designed to compile & package all the PETs needed
to build a Puppy (slacko141/slacko142/tahrpup) all in one go..
NOTE: many build systems don't have branches like that, and PetBuild prob shouldn't only have build scripts in specific branches.. It's a 'wrinkle'..
PetBuild's main branch (master) should be full of .petbuild scripts that are meant to work in "any" puppy.. and we should be contributing them..
So, at this point, you have some options:
a. Use whatever branch is closest to your running puppy (tahrpup for deb pups, etc)..
[For now, I do this option - I checkout slacko142, and just start adding new build scripts to /usr/share/petbuild/**]
b. Or, even better, create a branch for your custom pkgs:
Code: Select all
git checkout master
git checkout -b yourname_contrib
3. Either way (a. or b.), you can just ignore git from now on, if you like...
Once you have PetBuild at
/usr/share/petbuild/ and some build scripts in their folders (
/usr/share/petbuild/freeciv/freeciv.petbuild)
you can start using PetBuild to build your packages...
Code: Select all
cd /usr/share/petbuild/freeciv
sh freeciv.petbuild
Yours pets will be in
/usr/share/petbuild/0pets_out
DONE.
______________________________________
Now you're not only compiling pkgs that work on YOUR puppy, but you also created scripts to automate building the
same thing on other Puppys too. 01micko, Tman iguleder (who paved the way) did great work..
Again, this might seem like a lot of "hard work", but PetBuild
really is simpler and lighter (and easier) than the equivalents
in Arch, Alpine, etc (see links above), yet with all the same benefits of sharing "recipes" for pkgs..
But the "hard work" amounts to running 2 or 3 commands to get PetBuild setup, then copy and pasting existing petbuilds
and hacking them to change name, version, url, etc ... then running them
Then (optionally) instead of sharing your PETs, you can simply copy and paste your build script (and maybe desktop file) to the
forum, and others can build it for themselves.. They might (not) thank you for it.
Note: having build scripts
only in branches for specific pups in a build system is not so user-friendly for average users,
but you *can* create any branches you like, or you *could* stay in master to create build scripts for 'any' puppy...
....In the future:
Even better, we *could* push our new branches of build scripts back to Git, so others can get our "username_contrib" repos,
with ALL our build scripts...
I look forward to the day when users can simply do:
Code: Select all
cd /usr/share/petbuild
git checkout sc0ttman_contrib
git pull origin sc0ttman_contrib # get the latest build srcripts
cd puppy_arcade
sh puppy_arcade.petbuild
That would (hopefully) compile a freshly working puppy arcade PET for your system, including all emulators, config files etc, already setup,
with my custom frontends etc..
BENEFITS:
* If the build script worked (built good PETs) on many puppies, the .petbuild could go into the master branch, so users don't even need to checkout any other branches..
* The various PETs that got built from it (PetBuild would create differently named pets on diff puppies) would also be good candidates
for being added to the official repos of each Puppy on which they were built successfully..
* Users of many different Pups could update their repo and find lots of new PETs available, built on their system, for their system,
reliably, reproducibly built by other users, using PetBuild. All from a single build script.
* The distro devs/maintainers don't then need to be the people who compile ALL packages for a particular release (like 01micko did so far)
* And importantly in puppy land, other devs/users will not need to manually re-produce the same PETs for each new Puppy that comes along!!
* You could just download a new puppy (pupletX), then run petbuild in pupletX to re-produce the PETs you wanted for that system...
* Puplet builders could more easily re-produce their own efforts in the same way, while releasing new versions..
.. That is how lots of other distros go from
source -> user package -> official repo package ... They do it via a PetBuild (build script) like system..
EDIT:
That's a long few posts, but hopefully clears up what this thread is all about, and why it exists...
And explains why 01micko made Petbuild in the first place...
Sorry if I offended anyone.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]