SUMMARY:
A shell script to generate a static HTML page, maybe during a woof build
which lists a table of packages for each supported repo, with each pkg
name being clickable link, straight to pkg (.deb etc) download.
(This is a much simpler alternative to hosting a cool package search site
online somewhere, and a nice page to link to from the default homepage)
DETAILS:
One of Puppies main goals is ease of use.
Puppy often goes the extra mile to make things, easier, simpler, faster.
Many users (not myself, ever) go to Debian/Ubuntu/Slackware the big
package websites like https://packages.debian.org/ or
https://packages.ubuntu.com/) to download pkgs manually.
For some, this is reliable, and "just works" .. But it's a pain, and those
sites are not at all user friendly for non-Linux users or newbies.
Plus, you have to know about them and find them first..
!! For some, their preferred browser might not even work with those sites !!
Take for example, the Debian 'Ace of Penguins' package page:
https://packages.debian.org/stretch/gam ... f-penguins
It lists some of deps that might break a Puppy users system.
The pkg itself is way down at the bottom, where it lists lots of debs, most for
other architectures, and also lots of irrelevant guff on the right.
Finding the correct deb is not easy for newbies, and a needless hassle for regulars..
...But we know we want to download the .deb for the running $ARCH..
.. and woof worked out which mirrors are working during build time..
Maybe links to the packages can be auto-generated with something like:
Code: Select all
<a href="http://$MIRROR1/$DISTRO_COMPAT_VERSION/$DBIN_ARCH/$PKGNAME/download">i386</a>
Instead of the user:
- finding the Debian/Ubuntu/Slack/other packages site themselves,
- then finding the right DISTRO_BINARY_COMPAT version (stretch, trusty, wheezy, xenial, tahr, etc),
- then finding the package,
- then finding the right architecture,
- then choosing a mirror,
- and finally getting their download...
We could have a link in /usr/share/docs/index.htm to a page which
was generated in woof at build time, and contains a simple listing
of all pkgs from that puppies repo files.
For example, /usr/share/docs/packages.htm
Which could list ALL packages available in the repos, each repo in a
separate HTML table, with name, deps, size, description, and a clickable
link to download the package (woof knows the mirrors that worked at
build time, at least!).
Any deps listed could simply be anchor links (like #pkgname),
which takes the user straight to the package on that same page! How easy..
As in my other post about the default Puppy homepage, we know that
at build time, woof knows (more or less) enough about the Puppy being
built to generate links to specific, relevant web pages..
.... This (mostly generation of a big long HTML table in woof
somewhere at build time) may be a great way to easily download
pkgs from all over the place , and save Puppy users having to trawl
around the interwebz..
---- Improvements ----
However, lots of long table are boring, and hard to scroll around, so some
'accordion' CSS/JS could be used to make each repo table expand/contract
when its Heading is clicked ..
Same for package entries themselves - click a package row, it could
expand/contract to show/hide more details..
(So, something like the pkgs.org interface, but a local single HTML file,
listing all locally installed repos, and generated by a script)
The script that generated this packages.htm page could be re-ran to keep
it up to date (if its generated from the local config and repo files anyway)..
... Just a suggestion..