Ether wrote:.
Can someone explain, or provide a link to an explanation, how to download and install binaries for the mathematical package Maxima in Xenialpup CE 7.5 ?
Hi Ether,
Here's how I would do it, no guarantees. Or, skip everything after Step 1, go directly to step 9 and hope for the best.
1. Open Menu>Setup>Puppy Package Manager. Click Configure (Top-Left, 3rd Icon from Left) then update. After updating, select Options and select into what folder you want packages to be downloaded. You DON'T want them to download into /root. Also place checks in "Always redownload packages..." and "Do not delete downloaded packages". After PPM finishes your configuration, type
xdotool in the Search box and select Auto Install, then Do it on the Top-Right. You'll need xdotool for the next step.
2. Download and install PaDS 1.1.4 from here:
http://murga-linux.com/puppy/viewtopic. ... 922#998922. Read the short thread. This is only a summary: PaDS can combine various packages (such as debs) to create an Application.SFS if all such packages are in the same folder by Right-Clicking the folder and selecting Combine-to-SFS. Such SFS will have the name of the source folder and will be created in /root. It can also create
either pets or SFSes by opening PaDS from the Utility Submenu and selecting source packages from wherever they are located. You can also choose the name of the application
and the location where it will be created. This is important if your computer has limited RAM: you can choose to have your 'build-folder' on a partition rather than in /root, which occupies RAM. When opened from the Menu, PaDS can select all source packages in a folder by selecting one and then pressing Ctlr-a (IIRC). Having plenty of RAM, I never use PaDS that way for the reasons explained below.
3. Open your Web-browser to
https://packages.ubuntu.com/. Type Maxima as your Keyword and select "Xenial" as the Distribution "Any" as the section. Click the Search Button. In the Window which opens, select the link to the Package Maxima. You may want to bookmark the webpage which opens as it shows links to all packages required (=dependencies) or recommended by Xenial Xerus to run Maxima. Xenialpup is binary compatible, but not identical, to Xenial Xerus. About which, more latter. Hopefully, knowing what Ubuntu thinks are dependencies will help you later if Puppy Package Manager misses something.
4. Re-open PPM, type Maxima into the Search Box, Click "Maxima_5.37.2-8"; then press the Down-Arrow next to the words "Auto Install" and select "Download All packages and dependencies".
4a. Examine the downloaded packages. If any of them are python, you'll have to use PaDS to built a Pet. SFSes have lower priority than applications builtin or installed: Puppy's will attempt to use builtin or install python packages rather than those in an SFS and fail.
5. Use PaDS to combine all the downloaded debs to create a Maxima-5.37.SFS. [The absence of the "2" is intentional"]. If it was created in /root, move it elsewhere first or when SFS-loading it. Sfs-load it. [SFSes remaining in /root when unloaded are deleted].
6. Find it's executable. Browse to it, Right-Click and select ListDD from the Popup Menu. [PPM doesn't perfectly duplicate Ubuntu's dependency checking; and Ubuntu assumes an infrastructure of libraries not all of which may be present in Puppies. So Puppies may require some libraries which Ubuntu doesn't mention and PPM won't know about]. On the bottom of List Dynamic Dependencies' GUI click the "Missing" Tab. If there are any binaries missing, see if PPM can provide them and rebuild the SFS. If it can't provide them, look for them using Ubuntu's Package Search. If all else fails, see if
https://pkgs.org/ has them for Xenial xerus, if not, for debian Jessie (against which Xenial xerus was built) and if not for other versions of Ubuntu or debian, and if not for those for any distribution. Note, the further you get away from Xenial, the more likely you will need to create a symbolic link, given the name maxima seeks, to the file you found; and the less likely you are to actually end up with a functional application.
[6a. If List Dynamic Libraries reports that the executable is not a binary, search for the binary. Even with no missing libraries, it's good practice to start the application via the command line to see if there are any other problems. And if python is involved LDD can't tell you about any problems. You can only serially add missing python modules, then start the application via terminal again].
7. Once you have a functional package, it may still not appear on your menu. Browse to /usr/share/application's "Package Name.desktop", open it in a text editor and compare its "Category=" argument with other .desktops appearing in the category you want. Ubuntu sometimes specifies categories such as "Application", "gtk" and Puppies never read beyond the first two. Also, look at the "Icon=" argument. Puppies usually require an ending such as png or svg. As these often have to be changed requiring Step 8, it's just easier to use the "Combine-to-SFS" Right-Clicked folder method.
8. What I generally do once I've sorted step 7 out is* (a) Unload the SFS, (b) Left-Click/mount it, (c) Show Hidden Files; (d) create a blank folder with the name I want such as Maxima-5.37.
2; (e) copy all files from the mounted SFS Window into the Maxima-5.37.2 folder, then open a terminal in that folder's parent and, either
dir2pet Maxima-5.37.2 if I always want the application or it involves python and I have no choice; or dir2sfs Maxima-5.37.2 if not.
* If you've created a pet, uninstall it, and UExtract it to make necessary changes.
9. Just type Maxima in PPM's Search box and click Auto Install. The problem with this method is that installing overwrites files, and uninstalling even a non-functioning application doesn't re-install the over-written files. Suggest backing up SaveFile/Folder before proceeding.