Additional Programs: How To Install

How to do things, solutions, recipes, tutorials
Message
Author
User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

Additional Programs: How To Install

#1 Post by bigpup »

Basic info on installing additional programs.

First, understand that programs are compiled to run in a specific version of Linux, Puppy, or some other Linux OS.
They may or may not work in something they were not compiled specifically to run in.
Usually a specific Linux OS has a repository of programs compiled for it.
Some software is compiled to work in as many different Linux OS as possible or may be offered as several different packages, each one for a different Linux OS.

Most programs offer the source code, so you can compile it yourself for whatever Linux OS you use.
But that is really rarely needed. So forget that for now.

Puppy Package Manager (PPM), that is installed with the version of Puppy Linux you have, is the best place to get new programs. It will open, showing programs that are known to work on your version of Puppy. (software from repositories for that specific Puppy version)
It also tries to find all needed dependencies.
1. Run Puppy Package Manager.
2. Left mouse click on a listed program.
3. Follow install directions
4. Program installs.

PPM does need to be updated, at times, to know about stuff added to or updated in the repositories.
PPM>Configure>Update Database does this.


Note:
PPM does offer software from non Puppy repositories.
That software was not compiled specifically for Puppy Linux.
PPM tries to get everything needed, but sometimes the needed stuff is not there.
Why?
Because, the Linux OS, it was compiled for, already has the dependencies, so those are not in the repository.
However, usually you can get stuff working with a little digging.

Sorry, but PPM is limited when using non Puppy repositories.


Additional Software (PETs, n' stuff) section of this forum is the next best place to look. However, you must keep in mind that you will find programs that where originally compiled under a specific version of Puppy and they may or may not work with your version.
General rule is to read the posting for the program pet and see if there is any info that would indicate what version of Puppy it will work under.
Most of the stuff will work on a large portion of Puppies, but not 100% guaranteed.
You may find more then one version of a program. Sometimes that makes a difference.
1. Find a program you want.
2. Open the program topic.
3. find the link for downloading the program pet.
4. Left mouse click on the link
5. Follow the directions to either install or save.
(If you save the pet file you can install by viewing the pet file in Rox-Filer (file manager) and left click on it)

Installing from a .deb package
New or newest versions of Puppy can install programs that are packaged as deb packages.
They install the same way a pet package does.
Download.
Left click on it to install.

The big problem with these Deb packages.
They may not have everything needed and the Puppy version may not have the needed dependency files/programs.
Some Deb packaged programs just work.
Others need a lot of searching for missing stuff.
you should be using deb packages from a version of linux with similar versions of the base system libraries (e.g. glibc and ncurses). Otherwise the package you install might require newer libraries than are on your system.
The Check Dependencies Installed Packages program can help to figure out what is needed.
Last edited by bigpup on Tue 18 Jun 2019, 21:40, edited 14 times in total.

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#2 Post by bigpup »

SFS packages are another option for adding programs
to Puppy.

Note:
Puppy needs to be a frugal install to take advantage of the benefits of SFS packages.

You can read all about them here:
http://puppylinux.org/wikka/squashfs
Last edited by bigpup on Fri 18 Aug 2017, 15:49, edited 3 times in total.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

frenchiveruti
Posts: 120
Joined: Wed 15 Feb 2017, 14:00

Great info!

#3 Post by frenchiveruti »

Hi, I just read the page on Package management. And it really solves a lot of questions that I had, specially with those pesky but now very useful sfs files!

But, also, this creates in me more questions, how do they work? How do I create my own!
Sadly, the page linked doesn't give sfs love.
(I can make my own rhymes too :lol: )
So, where do I read, to get SFS a go?

User avatar
nic007
Posts: 3408
Joined: Sun 13 Nov 2011, 12:31
Location: Cradle of Humankind

Re: Great info!

#4 Post by nic007 »

frenchiveruti wrote:Hi, I just read the page on Package management. And it really solves a lot of questions that I had, specially with those pesky but now very useful sfs files!

But, also, this creates in me more questions, how do they work? How do I create my own!
Sadly, the page linked doesn't give sfs love.
(I can make my own rhymes too :lol: )
So, where do I read, to get SFS a go?
http://puppylinux.org/wikka/squashfs

User avatar
bigpup
Posts: 13886
Joined: Sun 11 Oct 2009, 18:15
Location: S.C. USA

#5 Post by bigpup »

Thanks nic007,
I have been thinking about adding SFS package info to this topic.
I needed a little push. :lol:
See 2nd post.
The things they do not tell you, are usually the clue to solving the problem.
When I was a kid I wanted to be older.... This is not what I expected :shock:
YaPI(any iso installer)

belham2
Posts: 1715
Joined: Mon 15 Aug 2016, 22:47

#6 Post by belham2 »

bigpup wrote:Thanks nic007,
I have been thinking about adding SFS package info to this topic.
I needed a little push. :lol:
See 2nd post.

Hi Bigpup,

I don't know if this sounds reasonable or not, but maybe for sanity purposes there could be two threads? One thread focuses on whatever ways are available to people to install to "frugal" installs?

And then another thread that focuses on ways to install to to full installs (for any device, HDs, USB, Sdcard, etc, etc).

This way, having two threads, we could point people (i.e. newbies) to one thread or the other, because it seems invariably when helping people/newbies related to this question of additional software installs, the first question that always comes up before anything else is:

How did you install it originally?

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

#7 Post by Ether »

bigpup wrote:SFS packages are another option for adding programs
to Puppy.

Note:
Puppy needs to be a frugal install to take advantage of the benefits of SFS packages.

You can read all about them here:
http://puppylinux.org/wikka/squashfs
.

At the above link, it says:
Copy or move all the directories and files that make up the software package into one single directory.
How do I find "all the directories and files that make up the software package"? I just successfully installed WxMaxima to Bpup64, and I want to make an SFS of it so it doesn't have to be in my save folder.

.

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

no install needed

#8 Post by foxpup »

I just want to mention there are programs you can just LINK.
You unpack/put it anywhere and click or link the binary.
I do that with essentials like firefox and LibreOffice.
I do not know what other apps are suitable for that. Would be interesting to hear about that.

And there is also something like appimages. I have not done that, so don't know much about it.

I short: you do not always need to install.

ps: I found this to be a nice overall overview:
https://opensource.com/article/18/1/how ... apps-linux

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

Re: no install needed

#9 Post by Ether »

foxpup wrote:I just want to mention there are programs you can just LINK.
You unpack/put it anywhere and click or link the binary.
I do that with essentials like firefox and LibreOffice.
Can you please provide more detail how you do that?

For example, when you say "when you unpack it"... what is "it"? and how do you get "it"?

Thank you

.

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#10 Post by mikeslr »

Hi Ether,

Some background about what is sometimes referred to as "Program Folders" or "External Programs". As far as I know, playdaz first explained them here: http://www.murga-linux.com/puppy/viewto ... 816#200816. I discussed how to create menu entries to them here: http://www.murga-linux.com/puppy/viewto ... 532#507532. If I recall correctly, someone --sorry his/her name escapes me-- posted and then guided me through creating either an 'Old' opera and 'old' firefox Program Folder.

Essentially the process --and answer to your question regarding "it" is that you download via your Web-browser an application published by its original creator (such seamonkey from seamonkey's website) packaged as a ".deb" or "tar.gz". [Other packaging formats, e.g. rpm, might work, but I haven't tried them]. What I do is Right-Click the deb/tar.gz and from the popup menu select UExtract. [Probably other extraction/decompression applications will also work]. Within the extraction folder created by UExtract will be another folder just having the name and version number of the application. Within that folder will be all the folders and files that make up the application. Move that folder to /mnt/home [or in my case into a folder named /mn/home/pup-apps so that (a) I can maintains some order on /mnt/home and (b) its easy to get to all "program folders" via a bookmark.

Another package which can be decompressed to create a "program folder" is an SFS.

Since the folder contains all the dependencies required by the application, merely Left-Clicking the application's executable will start the application.

The second post referred to above explains how to create a menu-listing. Essentially, that consists of three files: an icon, a bash-script calling the executable and a /usr/shere/applications/xxx.desktop referring to both those. It is sometime possible to just provide an icon and specify the exact and complete path to the executable as the desktop file's Exec= argument.

Sometimes --e.g. masterpdfeditor and foxitreader-- the deb/tar.gz package does not contain all required dependencies. The latter two expect qt-libraries to be part of your operating system. File-browsing to the executable, Right-clicking it, and Selecting ListDD (list dynamic dependencies) can identify those missing. Just find and install them into you system (not into the 'program folder).

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

Re: no install needed

#11 Post by foxpup »

Ether wrote:Can you please provide more detail how you do that?

For example, when you say "when you unpack it"... what is "it"? and how do you get "it"?
"It" is a tarball or even a package (often .deb).

For Firefox you can download "it" here: https://www.mozilla.org/nl/firefox/new/
or you can go here for an esr (I recommend this): https://www.mozilla.org/en-US/firefox/o ... tions/all/
These is a tarball.
For LibreOffice you have a lot of choice (fresh/still, languagepacks, offline help files).
Just make sure you do not take the tar.xz files but take "deb" targzipped files.
The tar.xz files are if you want to compile, the targzipped files contain lots of deb files which are compiled already.

Next you extract the tarball from firefox into /mnt/home/firefox.
I use Uextract for this. You may have to drag the firefox to have it exactly where you want it.
And for LO you first extract the targzipped files, gather them together and then unpack all the .deb files in a directory /mnt/home/LibreOffice.
You will need a little tool to do that. (I post it when I am home.)

You can go in the standalone firefox and look for the binary firefox and just click it: firefox will open.
You should now make a note of the full path of this executable
and use this for the exec line in a .desktop file you make in /usr/share/applications and/or for a script you can place in ~/my-applications/.

In the LibreOffice directory you can go and look for soffice, and click it.
You take note of the full path again. Make .desktop files and/or scripts.

You can also look for the .desktop file(s) inside the standalone (/mnt/home/firefox/usr/share/applications/ and /mnt/home/LibreOffice/usr/share/applications/ ) for an example.
Or just copy the desktop files to /usr/share/applications and adjust the path in the exec line.
Certainly for LibreOffice this is a good idea because there are different applications (write, calc, ...) that need to be called with their own option parameter to soffice.

Copy the icons for the .desktop files - you find them in the standalones - to /usr/share/pixmaps.

If you keep your mind to it, it is all straightforward.
Last edited by foxpup on Fri 12 Apr 2019, 08:41, edited 2 times in total.

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

Re: no install needed

#12 Post by Ether »

.
Thank you for the detailed explanation.
foxpup wrote: go here for an esr (I recommend this): https://www.mozilla.org/en-US/firefox/o ... tions/all/

Next you extract the tarball from firefox into /mnt/home/firefox.
I use Uextract for this.

You can go in the standalone firefox and look for the binary firefox and just click it: firefox will open.
OK, that worked !
You should now make a note of the full path of this executable
There are 2 different paths:

/mnt/home/firefox-60.6.1esr.tar.bz2.extracted/firefox/firefox

and

/initrd/mnt/dev_save/firefox-60.6.1esr.tar.bz2.extracted/firefox/firefox

does it matter which one I use?
and use this for the exec line in a .desktop file you make in /usr/share/applications and/or for a script you can place in ~/my-applications/.
I've never done that before.

Should I create a file named, for example, "firefox-esr.desktop" ? With a text editor? If I do that, I get an error message (see attachment).

What else has to be in there? For example, here are the contents of "hardinfo.desktop":

[Desktop Entry]
Encoding=UTF-8
Name=HardInfo hardware information
Exec=hardinfo
Icon=/usr/share/pixmaps/puppy/card_pci.svg
Terminal=false
Type=Application
StartupNotify=true
Categories=System
GenericName=HardInfo
You can also look for the .desktop file(s) inside the standalone (/mnt/home/firefox/usr/share/applications/
There is no usr folder in /mnt/home/firefox-60.6.1esr.tar.bz2.extracted/firefox (see attached screenshot)

.
Attachments
ff.no.usr.png
(72.43 KiB) Downloaded 896 times
ff-desk.png
(27.82 KiB) Downloaded 900 times

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#13 Post by mikeslr »

Hi Ether,

Not sure why you got the error message. Being both lazy and ignorant, here's how I "create" desktop files.

1. Look on the Start Menu to see what applications show up in the Category I want my application to appear in. firefox-esr being a Web-browser, look in the Internet Category.

2. File-browse to /usr/share/applications. Right-Click one of the desktop files which appeared in the Category in Step 1; from the pop-up menu, select Open in Geany (or Text-Editor).

3. Quickly --so as not to screw-up the menu-entry of the application you opened in the text editor-- Save AS with the name of your application.

4. Edit the following arguments:
Name= [use the name you want to appear on the menu]
Icon= [use the full path and name of the icon including its ending, e.g. png. Note, icons under /mnt don't always (ever?) appear; place your icon in /usr/share/pixmaps or /usr/share/icons.
5. Exec= [use the full path and exact (spelling & capitalisations matter) of the binary. Note, the two listings you gave point to the same executable. I don't know enough about initrd to explain why the reference is there. I always just use the one whose path starts with /mnt/.
6. (Less important) Clean up any references to the wrong application appearing on Comments= and Generic Name= arguments.

But, before you do anything else, your firefox folder is buried in the firefox-60.6.1esr.tar.bz2.extracted folder for no good reason. I'd open a window to /mnt/home. Just Left-click the desktop drive icon. Then, opening another window, I'd file-browse to the firefox-60.6.1esr.tar.bz2.extracted folder so that I could see the firefox folder, Left-Press, Hold, then drag the firefox folder into the window showing /mnt/home and select Move. Your path to the executable would then be /mnt/home/firefox/firefox. You can then delete the now empty firefox-60.6.1esr.tar.bz2.extracted folder.

If you are also running another firefox you may want to change the names of folders and in the desktop arguments.

I use a lot of program folders. Moreover, my Puppies share a partition with (currently) Peppermint 9. So when I file-browse to /mnt/home dozens of folders appear. To maintain some order, I place all Program Folders in a folder named "Pup-Apps" which can quickly be reached via a Bookmark.

FYI, the alternate method of specifying the path to the executable is:

1. File-browse to /root/my-applications/bin.
2. Right-Click an empty space. From the popup menu Select New>Script and give it a name, such as firefox-esr.
3. Right-Click that Script and select Open in geany/Text editor. In the window which open you will already see written
#!/bin/sh

To call fredx181's firefox quantum 64-bit I started a new line and typed in the command

exec /mnt/home/Pup-Apps/firefox64/ff "$@"

Generalizing the above it reads: exec FULL-PATH-TO-EXECUTABLE "$@"

The Exec argument in the /usr/share/application/firefox_portable.desktop file is
Exec=/root/my-applications/bin/firefox64

The above technique makes creating desktop files easier as I can use one bash-script as a template for another and just change the name in the desktop file's Exec argument.
Last edited by mikeslr on Wed 10 Apr 2019, 14:53, edited 1 time in total.

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

program folder

#14 Post by foxpup »

Ether wrote:
You should now make a note of the full path of this executable
There are 2 different paths:

/mnt/home/firefox-60.6.1esr.tar.bz2.extracted/firefox/firefox

and

/initrd/mnt/dev_save/firefox-60.6.1esr.tar.bz2.extracted/firefox/firefox

does it matter which one I use?
I does not matter, /initrd/mnt/dev_save/ or /mnt/home/, it is the same.
But you better drag the firefox directory to /mnt/home/, it is 'cleaner', do not leave it in /firefox-60.6.1esr.tar.bz2.extracted.

and use this for the exec line in a .desktop file you make in /usr/share/applications and/or for a script you can place in ~/my-applications/.
I've never done that before.

You can also look for the .desktop file(s) inside the standalone (/mnt/home/firefox/usr/share/applications/
There is no usr folder in /mnt/home/firefox-60.6.1esr.tar.bz2.extracted/firefox (see attached screenshot)
You are right, there is no firefox.desktop in the tarball of firefox. Sorry, I didn't check that. LibreOffice does have .desktop files in its tarball-debs.
Easiest is to copy a .desktop of another browser in your /usr/share/applications/ and adjust it in a texteditor, as mikeslr explains.

Note: creating a script in ~/my-applications/bin/ is for easy starting firefox from terminal or from another script.
If you put it there it is 'on the path', meaning you do not have to specify the whole path to the terminal or script. Puppy will look for it 'on the path'.
There are a few other directories 'on the path' for scripts and executables (/bin, /sbin, /usr/bin etc.) and for libraries (/lib, /usr/lib etc.).

Note added:
Instead of making a script in /root/my-applications/bin/ one can also put a link to the binary/executable in /root/my-applications/bin/ .
That is even easier! Just drag the binary/executable and choose Link (absolute).
Last edited by foxpup on Fri 12 Apr 2019, 08:43, edited 2 times in total.

foxpup
Posts: 1132
Joined: Fri 29 Jul 2016, 21:08

tips

#15 Post by foxpup »

If you want to unpack a lot of .deb files at once updebs is handy.
Put it in /root/my-applications/bin.
Put all the deb files together in 1 directory.
Open a terminal in this directory and type this command:

Code: Select all

updebs aname
where aname is the name of a directory.
You will find the debs unpacked in the directory aname.

[ (Instead of making a script in /root/my-applications/bin/ one can also put a link to the binary/executable in /root/my-applications/bin/ .
That is even easier! Just drag the binary/executable and choose Link (absolute).
]

I have also included my .desktop file for firefox.
Attachments
firefox.desktop.gz
fake .gz
example of a desktop file for (firefox)
(204 Bytes) Downloaded 225 times
updebs.gz
fake .gz
script to unpack all .deb files in the directory into a specified directory
(326 Bytes) Downloaded 225 times

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

Re: Additional Programs: How To Install

#16 Post by Ether »

.

I used PPM in bionic pup 64 to download Octave4.2.2 (plus all dependencies).

Now I have a folder containing 39 deb files:

root# ls
gcc-7-base_7.3.0-27ubuntu1~18.04_amd64.deb
libaec0_0.3.2-2_amd64.deb
libamd2_5.1.2-2_amd64.deb
libarpack2_3.5.0+real-2_amd64.deb
libblas3_3.7.1-4ubuntu1_amd64.deb
libcamd2_5.1.2-2_amd64.deb
libccolamd2_5.1.2-2_amd64.deb
libcholmod3_5.1.2-2_amd64.deb
libcolamd2_5.1.2-2_amd64.deb
libcxsparse3_5.1.2-2_amd64.deb
libfltk1.3_1.3.4-6_amd64.deb
libfltk-gl1.3_1.3.4-6_amd64.deb
libgfortran4_7.3.0-27ubuntu1~18.04_amd64.deb
libgl2ps1.4_1.4.0+dfsg1-1_amd64.deb
libglpk40_4.65-1_amd64.deb
libgraphicsmagick++-q16-12_1.3.28-2_amd64.deb
libgraphicsmagick-q16-3_1.3.28-2_amd64.deb
libhdf5-100_1.10.0-patch1+docs-4_amd64.deb
liblapack3_3.7.1-4ubuntu1_amd64.deb
libltdl7_2.4.6-2_amd64.deb
libmetis5_5.1.0.dfsg-5_amd64.deb
liboctave4_4.2.2-1ubuntu1_amd64.deb
libosmesa6_18.2.8-0ubuntu0~18.04.2_amd64.deb
libqhull7_2015.2-4_amd64.deb
libqrupdate1_1.1.2-2build1_amd64.deb
libqscintilla2-qt5-13_2.10.2+dfsg-4_amd64.deb
libqscintilla2-qt5-l10n_2.10.2+dfsg-4_all.deb
libsuitesparseconfig5_5.1.2-2_amd64.deb
libsz2_0.3.2-2_amd64.deb
libtext-unidecode-perl_1.30-1_all.deb
libumfpack5_5.1.2-2_amd64.deb
libxml-libxml-perl_2.0128+dfsg-5_amd64.deb
libxml-namespacesupport-perl_1.12-1_all.deb
libxml-sax-base-perl_1.09-1_all.deb
libxml-sax-perl_0.99+dfsg-2ubuntu1_all.deb
octave_4.2.2-1ubuntu1_amd64.deb
octave-common_4.2.2-1ubuntu1_all.deb
tex-common_6.09_all.deb
texinfo_6.5.0.dfsg.1-2_amd64.deb

How do I make a "Program Folder" from those 39 deb files ?

Also, how do I make an SFS file that I can load-on-the-fly ?

.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: Additional Programs: How To Install

#17 Post by s243a »

Ether wrote:.

I used PPM in bionic pup 64 to download Octave4.2.2 (plus all dependencies).

Now I have a folder containing 39 deb files:

root# ls
gcc-7-base_7.3.0-27ubuntu1~18.04_amd64.deb
libaec0_0.3.2-2_amd64.deb
libamd2_5.1.2-2_amd64.deb
libarpack2_3.5.0+real-2_amd64.deb
libblas3_3.7.1-4ubuntu1_amd64.deb
libcamd2_5.1.2-2_amd64.deb
libccolamd2_5.1.2-2_amd64.deb
libcholmod3_5.1.2-2_amd64.deb
libcolamd2_5.1.2-2_amd64.deb
libcxsparse3_5.1.2-2_amd64.deb
libfltk1.3_1.3.4-6_amd64.deb
libfltk-gl1.3_1.3.4-6_amd64.deb
libgfortran4_7.3.0-27ubuntu1~18.04_amd64.deb
libgl2ps1.4_1.4.0+dfsg1-1_amd64.deb
libglpk40_4.65-1_amd64.deb
libgraphicsmagick++-q16-12_1.3.28-2_amd64.deb
libgraphicsmagick-q16-3_1.3.28-2_amd64.deb
libhdf5-100_1.10.0-patch1+docs-4_amd64.deb
liblapack3_3.7.1-4ubuntu1_amd64.deb
libltdl7_2.4.6-2_amd64.deb
libmetis5_5.1.0.dfsg-5_amd64.deb
liboctave4_4.2.2-1ubuntu1_amd64.deb
libosmesa6_18.2.8-0ubuntu0~18.04.2_amd64.deb
libqhull7_2015.2-4_amd64.deb
libqrupdate1_1.1.2-2build1_amd64.deb
libqscintilla2-qt5-13_2.10.2+dfsg-4_amd64.deb
libqscintilla2-qt5-l10n_2.10.2+dfsg-4_all.deb
libsuitesparseconfig5_5.1.2-2_amd64.deb
libsz2_0.3.2-2_amd64.deb
libtext-unidecode-perl_1.30-1_all.deb
libumfpack5_5.1.2-2_amd64.deb
libxml-libxml-perl_2.0128+dfsg-5_amd64.deb
libxml-namespacesupport-perl_1.12-1_all.deb
libxml-sax-base-perl_1.09-1_all.deb
libxml-sax-perl_0.99+dfsg-2ubuntu1_all.deb
octave_4.2.2-1ubuntu1_amd64.deb
octave-common_4.2.2-1ubuntu1_all.deb
tex-common_6.09_all.deb
texinfo_6.5.0.dfsg.1-2_amd64.deb

How do I make a "Program Folder" from those 39 deb files ?

Also, how do I make an SFS file that I can load-on-the-fly ?

.
I thought of an even easier way but it might be slower then what I have in quotes below.
covert the packages using:

deb2pet

convert the pet to an sfs using:

sfs2pet

there there is a tool to combine sfs files available called:
sfs-combiner

However, if you want to learn to do things the hard way the following might be instructive.
The quickist hack I can think of is to use sandbox.sh (not sure if it works on puppy or not) and install the debs one by one with the command

Code: Select all

petget +<pkgname>
where package name is the name of the package. Once the packages are installed into the sandbox the files can be copied one by one into a new directory to package via dir2pet. The list of installed files can be found in /root/.packages for each package.

There are a few different ways to copy files (e.g. cp, rsync, cpio) I can can help out more later. You might also find the following thread interesting:

Minimum Operating Systems to host package manager in chroot
but it doesn't exactly answer your question

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

Combining debs to make an application

#18 Post by mikeslr »

Hi Ether,

Install PaDS 1.1, from here: http://www.murga-linux.com/puppy/viewto ... 922#998922. Also install via Puppy Package Manager xdotool and any dependencies.

Then create a folder on /mnt/home named Octave4.2.2 and place all the debs you downloaded into that folder. Right-Click the folder and select "Combine-to-SFS". An SFS will be created at /root.

The above use of PaDS did not require xdotool. But it does all its work in RAM and creates the SFS in /root, which is in RAM. So, if you have limited RAM it can be problematic.

The other way to use PaDS is to open it from the menu. This does require xdotool. The GUI which opens permits the selection of a location for creating the SFS other than /root. When open from the menu all your debs (it can also use several other packages including, of course, pets and SFSes --read the PaDS thread) don't have to be in the same folder. You can browse for them in the left-panel and add them to the right-panel (which lists everything which is to be combined). With all, or many packages in the left-panel, you can quickly add all by selecting one package, pressing Ctrl-a (which highlights all) then clicking add.

That gives you an SFS. You can sfs-load it to test it. If the sfs is at /root, either before loading it or while loading it, move it from there. If you unload an sfs from /root it will be deleted.

Regarding testing it, see http://murga-linux.com/puppy/viewtopic. ... 75#1025475

If dependencies are missing, you can add them to the Octave4.2.2 folder and run PaDS again. Or create another folder with a different name, such as Octave4.2.2a, place the Octave.sfs and the additional dependencies in that folder and again run PaDS.

One thing which often presents a problem is what Ubuntu/debian sometimes does with its /usr/share/APPLICATIONS.destop files. It begins the "Category=" argument with such terms as "gtk", "Application" or others which are not within Puppy's Menu vocabulary. Reading where to locate an application on its menu, Puppies may not get to the third argument so it won't appear. And, in any event the category Ubuntu chose may not be where you want the application to appear. Simply editing the desktop file is sufficient, but there's a another way whose intermediary step will give you a 'Program Folder'.

Create another folder with an appropriate name. Right-Click the SFS and select "View Contents". In window which opens, Click Rox's Eye, or otherwise 'Show hidden files'. Click your mouse-cursor on an empty place, then press Ctl-a to select all files. Then drag them into your other folder. You now have a 'Program Folder'. Edit the desktop file as necessary.

If you again want an SFS, file-browse to the PARENT of that folder, i.e. you can see it as a folder. Right-Click an empty space and select either Window>terminlal here or shell command. Enter the following command "dir2sfs EXACT_NAME_OF_FOLDER" without the quotes.

Note, as far as I know, any application which uses python must be installed. Using PaDS via the Menu, there's an option to combine packages into a pet. Also, once you have a 'Program Folder" you can use the same technique for creating an SFS to create a pet except the command would be "dir2pet" without the quotes.

Ether
Posts: 261
Joined: Wed 21 Aug 2013, 17:56

Re: Additional Programs: How To Install

#19 Post by Ether »

s243a wrote: convert the pet to an sfs using:

sfs2pet
Thanks. But that doesn't convert pet to sfs. See attachment.
.
Attachments
sfs2pet.png
converts sfs to pet, not the other way
(16.04 KiB) Downloaded 414 times

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

Re: Additional Programs: How To Install

#20 Post by s243a »

Ether wrote:
s243a wrote: convert the pet to an sfs using:

sfs2pet
Thanks. But that doesn't convert pet to sfs. See attachment.
.
My mistake. I left out one tool. There are pet to sfs converters:
- pet2sfs converter? murga-linux.com thread by ravensrest 16 May 2008
- PETS2SFSGUI-1.4 - combine/convert few pets into one SFS - murga-linux.com thread by trio 2 May 2011
- http://puppylinux.org/wikka/PETS2SFSGUI

that all said. I think that mikeslr suggestion might be easier.

Post Reply