best Puppy version for programming

For discussions about programming, and for programming questions and advice


Moderator: Forum moderators

Post Reply
mingovia
Posts: 4
Joined: Fri Jan 26, 2024 6:45 pm

best Puppy version for programming

Post by mingovia »

I am a long-time user of Linux Mint. I recently was given a MacBook Pro made in 2012. I want to install some version of Puppy Linux on it, and use it mainly for programming. I hear there is something called a "puplet". Is there a version of Puppy that you all feel is better for programming?

thanks,
new user David

User avatar
rockedge
Site Admin
Posts: 5714
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1994 times
Been thanked: 2097 times
Contact:

Re: best Puppy version for programming

Post by rockedge »

@mingovia Hello and :welcome: to the kennels!

What type of programming languages do you plan on using, what type of projects?

Your machine should be able to run a big range of Puppy Linux types so there are choices. Wait a bit and some of the members will come by and throw in some ideas.......

mingovia
Posts: 4
Joined: Fri Jan 26, 2024 6:45 pm

Re: best Puppy version for programming

Post by mingovia »

I have used several languages in the past, but my immediate need is to work on a project with some other people in Python.

Other languages of interest: Java, C, scripting and databases

User avatar
Phoenix
Posts: 339
Joined: Fri Feb 12, 2021 2:03 am
Location: Canada
Has thanked: 4 times
Been thanked: 48 times

Re: best Puppy version for programming

Post by Phoenix »

F96-CE can work, it has Geany.

IRC: firepup | Time to hack Puppy!

User avatar
mikeslr
Posts: 2791
Joined: Mon Jul 13, 2020 11:08 pm
Has thanked: 173 times
Been thanked: 837 times

Re: best Puppy version for programming

Post by mikeslr »

For your objective the best Puppy may not actually be a Puppy.

This Forum supports several species of operating systems. By definition a 'Puppy' is created using an application named 'Woof'. Woof makes use of binaries published by major distros such as debian, Ubuntu, and Slackware; however substituting 'infra-structure' unique to Puppy for the more RAM demanding, CPU-demanding 'infra-structure' employed by those major distros. Almost all Puppys use the light-weight JWM as Window manager --don't panic, a Puppy development known as JWMDesk makes customization at least as effortless as that offered by Linux Mint-- and the light-weight Rox as file-manager. A few Puppys use the XFCE-Thunar combination; and for those which don't there are choices of alternate Window & File-managers. Puppys are designed so that they can be run entirely in RAM --very fast if you have enough RAM; but can be configured to do otherwise.
All Puppys are designed to be portable, requiring only their own folder on almost any media. They also are designed to run 'as root' --no password needed to do anything; but applications can be run as the limited User "Spot". It is recommended that your choice of Puppy first be 'burnt' to a USB-Key so as to be certain it will run on your --and the other people working on your python project's computers. Almost all Linux applications designed to burn an OS to USB-Key will fail to properly deploy Puppy because it is designed as a portable. The easiest to use if Unetbootin and even the config file it writes has to be manually edited. Ask how and for alternatives. [Starting with Windows is easier].
Almost any Puppy can be used to program. As a general rule, you would have to download a file named devx.sfs --published for your specific Puppy, e.g. devx_fossapup64_9.5.sfs-- and SFS-Load it. Most people neither compile nor program. Everything 'builtin' requires some RAM. So it's not included by default. I don't do either. IIRC, devx provides the tools needed for compiling and programming in C(++?). May not be needed for python.
As you've discovered, the Forum has a Programming Section. It also has Projects Section and specific Sections for each Puppy and various categories of applications. You can use it like an index. https://rockedge.org/psearch/ is a google-search engine for 'all things puppy' that can also be useful. And never hesitate to ask for advice.
Almost all Puppys have geany. All Puppys can access the repositories of their binary-compatible 'major distro' to install other text editors and other applications. However, because much of a binary-compatible's infra-structure has not been included sometimes to obtain functionality requires a search for missing dependencies. Naturally, Puppy has a tool for that -ListDD-- you can install if not already present.

The reason Puppy may not be best for your Project is that it is not 'Mainstream'. You wouldn't set out to design a brake system for a Honda Civic using a Ford Mustang as your test vehicle.

The closest Puppy to 'mainstream' is VanillaDpup. See https://www.forum.puppylinux.com/viewforum.php?f=183 and in particular https://www.forum.puppylinux.com/viewtopic.php?t=5044. It is binary-compatible with debian, and unlike most Puppys, it includes apt and synaptic. VanillaDpup 10 is currently the version recommended by dimkr, its creator. I may be wrong, but AFAICT, there is no devx file. Best to ask dimkr on that Section what to do.

BookwormPup, https://www.forum.puppylinux.com/viewtopic.php?t=8690 is also binary-compatible with debian and has apt and synaptic built in. Although slightly more like traditional Puppys, it may be a good choice.

By the way, to understand How Puppy Works, read https://www.forum.puppylinux.com/viewtopic.php?t=5818, and https://www.forum.puppylinux.com/viewtopic.php?t=6526.

But as I wrote, the best Puppy for your project may not be a Puppy, at all. On the Forum you'll find a Section devoted to 'Debian and Ubuntu' dogs, https://www.forum.puppylinux.com/viewforum.php?f=22. As I understand it, the creation of these begin with a 'net-install' of their binary-compatible which are fleshed out before publication to be a very small Live CD shaped to look and act like Puppy Linux. Apt is built in; as is access to its binary-compatible's repositories. Again, these are designed as portables, can be located anywhere including just a folder on the partition used by some other OS.

But perhaps you best choice may be one of the Kennel-Linuxes, https://www.forum.puppylinux.com/viewforum.php?f=192. These are in fact the same operating systems --offering all the features of the specific Major Distro used except that they employ modified initrds so that those distros function as portables. There are several to choose from. Airdale --based on Void-- may be the most matured. But there are also versions including ones based on Arch-linux, Ubuntu-Jammy. If you are also running the actual binary compatible, I think there's a method by which your work under the portable can be transferred to the 'Full Install' binary compatible.

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: best Puppy version for programming

Post by wiak »

mikeslr wrote: Sun Jan 28, 2024 1:42 am

But perhaps you best choice may be one of the Kennel-Linuxes, https://www.forum.puppylinux.com/viewforum.php?f=192. These are in fact the same operating systems --offering all the features of the specific Major Distro used except that they employ modified initrds so that those distros function as portables.

Yes and no. Yes the heart of these KL distros are their overlayfs-using FirstRib initrd (but the Puppy initrd is similarly the heart of Puppy distros); that's what provides all the frugal install functionality (save on demand, run from RAM, and so on).
And yes, the current KL distros are all using official upstream package managers and via that the main upstream distro flavour system components. End result is that they are 100% compatible with the mainline distro used so good for programming from that standpoint. And that is enough to understand really.

However, KL distros are constructed from the ground up using a build script system, so the end result can be very different from any actual mainstream distro so could in practice be made to look and feel pretty much exactly like Puppy Linux (similar in that sense to a DebianDog except KL distros can be designed around Arch Linux, Void Linux, Debian, Devuan, or Ubuntu repositories as their core construction resource). Also KL have their own utility and system scripts for providing save-on-demand and load/unload sfs modules and so on, along with having borrowed (or modified) many others that were taken from DebianDog and also from Puppy Linux resources; such facilities are not generally provided at all in upstream mainline distros.

Real difference with Puppy Linux is that Puppy doesn't provide real multi-user support (no PAM and so on) and sticks to old sysVinit scripts that have been specially hand-crafted for Puppy and tend to be closely tied to Puppy's initrd layer implementation. Puppy does also rely on mainline upstream repos, but traditionally accesses that via its own package manager, which has some advantages but several disadvantages though as was stated some newer Pups are created in a similar way to a typical DebianDog, albeit via their own woof build script system of scripts and extra configs and packages. In practice, however, the slimming inherent in Puppy design tends to make it the most frugal of all and in some situations such as with systems that have lowish RAM or relatively slow CPU, Puppy is often still an appropriate fit IMO. For a lot of programming tasks, Puppy is fine, even for compiling some complex packages (rockedge has demonstrated that using Puppy to compile Zoneminder on many occasions). But sometimes, the single-user way Puppy is designed along with its less than perfect traditional Package Manager (PPM) causes headaches trying to install necessary dependencies some programming projects might require; you won't usually run into such difficulties if using DebianDog or KL distros for your programming work. So it depends what you need the distro for.

Right now I am personally veering towards using Bookworm Pup as the main distro on an old emachines Intel Atom netbook I have. But I'm unlikely to use that for much programming other than simple script writing and a few simple C compiles maybe. Bookworm Pup is admirably fast on this old machine though, so it pretty much fills my purpose for that one (and I still can run various KL's on same machine though I may need to modify a few of these to get quite the performance Bookworm Pup provides me there out of the box).

At other times, such choices are more related to what you are used to or feel most comfortable with. If you've used Puppy Linux only for many years, for example, it just won't likely feel as comfortable to use anything else. Puppy definitely has its own way of doing some things (and of working round some others). Many people grow very used to what they are most familiar with. I used to be very familiar with most all Puppy usage 'tricks', but actually it has become the opposite for me now; I struggle to even remember the correct grub stanzas to boot it, and I've become a fan of the likes of runit and systemd so struggle when having to try and fix some sysVinit-related issue (though not too hard in Puppy since single user and simple run levels). I wouldn't say Puppy system is easier to learn though. The likes of runit and systemd are very well-organised and consistent and sysVinit isn't used much nowadays so the effort learning, say, systemd is really worth it too. Moreover, and this can be painful, a lot of things can break because so much now expects the presence of systemd functionality, including some larger programming frameworks, but depends what complexity of programming we are talking about.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

Post Reply

Return to “Programming”