Building a puppy from github actions is easy- just following https://github.com/puppylinux-woof-CE/w ... -on-GitHub I was able to build my first puppy (JammyPup64, which didn't show wlan when I tried connecting to internet). But the puppy I built was completely based on woof-CE's earlier commits... I didn't make any change to woof-CE. The main reason for me not changing anything in woof-CE (my fork) was that I don't understand what all means what. Let's say for example, if I wanted to change the default wallpaper what file would be needed to be edited, or if I wanted to remove a package that is going to be installed and instead of it adding a new one, I don't know what's needed to be changed. Till this point of time, I understood linux's directory structure just as what we as users see. The directory structure before making of that OS, i.e. the directory structure of the OS's source is completely new for me. I do understand the Directory Structure given in the link, but don't understand what needs to be changed in a single directory to achieve what? I mean how will be the source files processed to get the final OS? Can anyone explain this to me (Not the whole process, just a bit so that I understand what is what)?
How to build a configured puppy from github actions?
Moderator: Forum moderators
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
You should look in woof-distro/x86_64/ubuntu/jammy64. That's where you can find the configuration files for jammy64.
Once you modified them to your liking, you'll need to push your changes to your fork. You have 2 options:
1. Learn some git basics (there are many tutorial so for that, https://docs.github.com/en/get-started/ ... ork-a-repo is one example)
2. Use an online IDE like GitHub's (https://github.com/puppylinux-woof-CE/w ... ibutor-101) or Gitpod (https://github.com/puppylinux-woof-CE/w ... ing-gitpod)
Once the changes are pushed, you can run another build job.
Alternatively, you can run woof-CE on your computer, but you'll need patience, enough disk space, and it doesn't work on any distro: some Puppy releases are so broken they can't be used to rebuild themselves using woof-CE.
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
Thanks @dimkr for the explanation! But I can't build woof-CE on my computer (Its very old). Few more (kinda silly) questions-
1. In what branch do I commit? The default branch - testing, or create a new branch and start working on it? I mean is the testing branch in original woof-CE repo used for developing the latest distro, or is it used for developing something else (like support for all distros)? (Sorry for a silly question. but I am very bad at organizing things, even when I program )
2. Does DISTRO_PET_REPOS contain only repos containing packages created for puppy, and DISTRO_PKGS_SPECS-ubuntu-jammy the packages that are provided by Ubuntu's repos? What about DISTRO_COMPAT_REPOS-ubuntu-jammy then?
3. In /woof-distro/x86_64/ubuntu/jammy64/DISTRO_SPECS are the DISTRO_NAME and DISTRO_FILE_PREFIX name provided by ubuntu or are they provided by puppy itself.
4. Does running github actions do modification to DISTRO_SPECS (i.e. do I have to do manual modification every time I want to build in DISTRO_SPECS or github worklow handles that)?
5. In /woof-code/README.pkgs_specs Line 68, I don't understand a thing, do we need to specify, from exe,dev,doc,nls, the ones which we want install, like if I want to install the program and its documentation only then choose exe,doc, or is it necessary to put there only a definite value for a specific program?
PuppyLinux gives new life to old computers
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
Up to you, it doesn't matter. However, I think it's easier to keep the testing branch synchronized with testing in https://github.com/puppylinux-woof-CE/woof-CE and merge testing into your branch when you want to synchronize with the latest changes in woof-CE.
DISTRO_PET_REPOS = repositories for .pet packages
DISTRO_COMPAT_REPOS = repositories for .deb packages
DISTRO_PKGS_SPECS = packages to include in the build
All three files contain comments that explain the format.
(The jammy64 configuration in woof-CE doesn't use any .pet packages right now, but if somebody adopts it and contributes the changes back to woof-CE, that can change)
You can put whatever you want in DISTRO_NAME and DISTRO_FILE_PREFIX.
Nope, the action clones the repository and makes a local change based on the action parameters. It doesn't commit and push it. This way, you don't have to change DISTRO_SPECS every time you want to change the version number or something.
user1234 wrote: ↑Mon Sep 26, 2022 6:12 am5. In /woof-code/README.pkgs_specs Line 68, I don't understand a thing, do we need to specify, from exe,dev,doc,nls, the ones which we want install, like if I want to install the program and its documentation only then choose exe,doc, or is it necessary to put there only a definite value for a specific program?
I'm not sure I understand the question
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
Thanks again @dimkr!
dimkr wrote: ↑Mon Sep 26, 2022 7:19 amuser1234 wrote: ↑Mon Sep 26, 2022 6:12 am5. In /woof-code/README.pkgs_specs Line 68, I don't understand a thing, do we need to specify, from exe,dev,doc,nls, the ones which we want install, like if I want to install the program and its documentation only then choose exe,doc, or is it necessary to put there only a definite value for a specific program?
I'm not sure I understand the question
I am asking the question again and will try to explain with an example-
Say there is a program named foo (a .deb package), and searching for it in PPM gives these search results- foo, foo-dev, foo-doc, foo-nls. So if I want to put it in the PKGS_SPECS_TABLE, then I'll do it this way-
Code: Select all
yes|foo|foo*|exe,dev,doc,nls
So here, can the third column, the one which contains exe,dev,doc,nls, be changed in order install only specific package out of foo, foo-dev, foo-doc, foo-nls? For example-
Code: Select all
yes|foo|foo*|exe,doc
Will this line install only foo and foo-doc? Or is it prohibited to do so?
PuppyLinux gives new life to old computers
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
Honestly, I'm not sure. If I want to drop a part of a package, I usually use something like doc>null
.
If I understand the code correctly, the default in https://github.com/puppylinux-woof-CE/w ... kages#L170 means exe,doc
is the same as exe,dev,doc,nls
, and you're trying to achieve the same effect as exe,dev>null,doc,nls>null
.
(By the way, the -dev packages are not added automatically! For example, if you want libncurses and libncurses-dev in your build, you'll need to do something like yes|whatever|libncurses,libncurses-dev|exe,dev
, not yes|whatever|libncurses|exe,dev
)
(And another thing to note: woof-CE nowadays supports automatic dependency resolution, that's the deps:yes
you see in most entries; this feature doesn't work if you use wildcards like libncurses-*
, only with exact package names)
-
- Posts: 67
- Joined: Thu Oct 27, 2022 4:28 am
- Location: Houtston USA
- Has thanked: 9 times
- Been thanked: 5 times
Re: How to build a configured puppy from github actions?
user1234 wrote: ↑Sat Sep 24, 2022 10:27 amBuilding a puppy from github actions is easy- just following https://github.com/puppylinux-woof-CE/w ... -on-GitHub I was able to build my first puppy (JammyPup64, which didn't show wlan when I tried connecting to internet).
Hello User1234,
I am also trying to build PuppyLinux on GitHub, but running into problems.
After FORK, for CLOING what steps need to be followed ?
When I run workfows after completing the step : Action --> release --> Run WorkFlow : Workflow always ends up in failure.
My Workflow parameters are :
Branch: testing
Human-readable name : Ubuntu.Jammy64
Version Number : 1.0
Release name suffix, with leading - : -prepreprealpha1
Architecture: x86_64
Compatible distro: ubuntu
Compatible distro version : 22.04
Kernel version : 5.15.x
File name prefix : ry.jammy64
Upload release draft : not checked
What other steps am I missing here ?
Are there detailed docs or other forum discussions that you went through to successfully build your Puppy Linux ?
Thanks in Advance.
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
RyPuppy wrote: ↑Sat Nov 05, 2022 4:27 amuser1234 wrote: ↑Sat Sep 24, 2022 10:27 amBuilding a puppy from github actions is easy- just following https://github.com/puppylinux-woof-CE/w ... -on-GitHub I was able to build my first puppy (JammyPup64, which didn't show wlan when I tried connecting to internet).
Hello User1234,
I am also trying to build PuppyLinux on GitHub, but running into problems.After FORK, for CLOING what steps need to be followed ?
When I run workfows after completing the step : Action --> release --> Run WorkFlow : Workflow always ends up in failure.My Workflow parameters are :
Branch: testing
Human-readable name : Ubuntu.Jammy64
Version Number : 1.0
Release name suffix, with leading - : -prepreprealpha1
Architecture: x86_64
Compatible distro: ubuntu
Compatible distro version : 22.04
Kernel version : 5.15.x
File name prefix : ry.jammy64Upload release draft : not checked
What other steps am I missing here ?
Are there detailed docs or other forum discussions that you went through to successfully build your Puppy Linux ?
Thanks in Advance.
I se you have wrong Compatible distro version. Here is how you can search for compatible distros-
Go to https://github.com/puppylinux-woof-CE/w ... oof-distro. These are all the architectures supported. Click on one of the architectures. Say for example- x86_64. The opened site will show all compatible distros. Click on either of them (the one you want to build). Say for example- ubuntu. The screen now opened will show all compatible distro versions. So the compatible distro version would be jammy64, not 22.04. All of the fields- architecture, compatible distro and compatible distro version can have either of these options.
By the way, a new commit to woof-CE, by @dimkr, now requires one more field- Upload release drafted. He himself may make us understand this option.
PuppyLinux gives new life to old computers
-
- Posts: 67
- Joined: Thu Oct 27, 2022 4:28 am
- Location: Houtston USA
- Has thanked: 9 times
- Been thanked: 5 times
Re: How to build a configured puppy from github actions?
Hello User1234,
In the help guide - "Building a Puppy: using GitHub Actions",
Code: Select all
0. Fork woof-CE.
1. Clone your fork.
How to CLONE ?
Thanks in advance...
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
Cloning a github repository means copying a github (remote) repository to your local computer. You may need the program git for this, which can be found in your puppy version's devx.sfs. If you want help getting the devx.sfs for the puppy you are using, please post which puppy you are using (like fossapup64)?
You may need to take a look at git tutorial.
Though working locally with git repositories is not necessary. Take a look at this page, if you don't want to fiddle with git and directly change the woof-CE code from the web!
By the way, there is no need for changing the woof-CE code for building a puppy. By changing the woof-CE code, you can build a customized puppy (or fix issues occuring with a special build of puppy).
If you want, then I can post here help for setting up a git repository locally (or remotely, w3schools tutorial is kinda outdated).
PuppyLinux gives new life to old computers
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
Feel free to modify https://github.com/puppylinux-woof-CE/w ... -on-GitHub if anything is unclear
-
- Posts: 67
- Joined: Thu Oct 27, 2022 4:28 am
- Location: Houtston USA
- Has thanked: 9 times
- Been thanked: 5 times
Re: How to build a configured puppy from github actions?
dimkr wrote: ↑Sat Nov 05, 2022 8:46 amFeel free to modify https://github.com/puppylinux-woof-CE/w ... -on-GitHub if anything is unclear
I will update the Woof -> Wiki https://github.com/puppylinux-woof-CE/w ... -on-GitHub
once I have a successful build.
Information provided in the HELP docs does have gaps. Hopefully with the help of you, user1234 and others we can make it better for everyone.
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
-
- Posts: 67
- Joined: Thu Oct 27, 2022 4:28 am
- Location: Houtston USA
- Has thanked: 9 times
- Been thanked: 5 times
Re: How to build a configured puppy from github actions?
With your timely help, I was able to run 3 workflows - (1) Debian (2) SlackWare & (3) Ubuntu-Jammy64 successfully. They created .ZIP file with ISO and SFS files as part of the ZIP package.
Could you post your TUTORIAL for building (Ubuntu.Jammy64) by setting up GIT REPOSITORY locally.
Thanks in advance...
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
Just git clone https://github.com/puppylinux-woof-CE/woof-CE
and follow the instructions in README.md.
Is there any missing documentation?
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
That'd do it (atleast for woof-CE). But there would be some intializations and some guide for usage of git to push or pull, like for all repos and not just woof-CE. I'll start a new topic for that.
Also @dimkr, @RyPuppy, I have updated Building-a-Puppy-on-GitHub . See if there is anything to add.
PuppyLinux gives new life to old computers
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
I just uploaded 'my own created guide' to using git
and github
here. If you accept, then we could even add a link to this post in the Wiki's first page, in case anyone might need any help with them.
PuppyLinux gives new life to old computers
-
- Posts: 2423
- Joined: Wed Dec 30, 2020 6:14 pm
- Has thanked: 53 times
- Been thanked: 1202 times
Re: How to build a configured puppy from github actions?
You don't need anyone's approval, Puppy is a do-ocracy
- user1234
- Posts: 414
- Joined: Sat Feb 26, 2022 5:48 am
- Location: Somewhere on earth
- Has thanked: 155 times
- Been thanked: 90 times
Re: How to build a configured puppy from github actions?
I know that, that puppy warm heartedly accepts everyones views . Just wanted your 'review' (even you sometimes ask for review). Just ensures that the decisions taken are actually correct .
PuppyLinux gives new life to old computers