Pkg - CLI package manager

Under development: PCMCIA, wireless, etc.
Message
Author
User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

installing from PPA repos

#31 Post by sc0ttman »

On Launchpad.net there are many "PPA" repos containing user contributed or more
up-to-date packages, which can be added to an ubuntu (and Debian) system.

To add a new PPA repo, Ubuntu/Debian users can simply do:

Code: Select all

sudo add-apt-repository ppa:foo/bar
Well, I created a new script called ppa2pup.
So, now Puppy users can do:

Code: Select all

ppa2pup ppa:foo/bar [debian|ubuntu] [bionic|artful|xenial|stretch|etc]
If you're on an Ubuntu Bionic pup, if you only give the first option
(the PPA URL) it will grab the ubuntu bionic PPA pkgs by default.

Override by supplying the 2nd and 3rd options.

Full usage info:

Code: Select all

This script creates a Puppy-compatible repo file from a PPA repo URL.

Usage: ppa2pup ppa:<user>/<repo> [debian|ubuntu] [bionic|stretch|artful|etc]

Examples:

  ppa2pup ppa:team-xbmc/ppa

  ppa2pup ppa:team-xbmc/ppa ubuntu bionic

  ppa2pup ppa:team-xbmc/ppa ubuntu artful

  ppa2pup ppa:team-xbmc/ppa debian stretch
See: https://gitlab.com/sc0ttj/Pkg/issues/31

It's not finished, but will do the following:

* find and download the relevant Packages.gz file of the PPA
* create a new puppy-compatible repo file from it
* install the repo, using Pkg

Example output:

Code: Select all

# ppa2pup ppa:freecad-maintainers/freecad-stable ubuntu bionic

Found URL:

  http://ppa.launchpad.net/freecad-maintainers/freecad-stable/ubuntu/dists/bionic/main/binary-i386/Packages.gz

File to create:
   ~/.packages/Packages-ubuntu-bionic-freecadmaintainers

Success! File created.

Repo 'bionic-freecad-maintainers' added successfully.

Adding repo: stretch-main..
Adding repo: noarch..
Adding repo: common..
Adding repo: stretch-contrib..
Adding repo: stretch-multimedia..
Adding repo: stretch-non-free..
Adding repo: bionic-libretro..
Adding repo: bionic-freecad-maintainers..
Sources updated.

Repo info:
- Repo:          bionic-freecad-maintainers
- Repo file:     Packages-ubuntu-bionic-freecadmaintainers
- Package Type:  deb
- Packages:      27
- URL Mirror 1:  http://ppa.launchpad.net

- Fall back to:  bionic-libretro, stretch-main, noarch, common,
  stretch-contrib, stretch-multimedia,
  stretch-non-free

Success! Repo added and available to use.

To use this repo, simply type the following and hit ENTER:
  pkg repo bionic-freecad-maintainers
:) Please test it out... It will be integrated into Pkg later as:

Code: Select all

pkg add-ppa team-xbmc/ppa ubuntu bionic

Code: Select all

pkg rm-ppa team-xbmc/ppa ubuntu bionic
Then into the `apt-wrapper` 8)

.. could also be improved to add the new repo to PetGet too .. ppa2pup would just need to update the ~/.packages/DISTRO_* files as well (i think)...
Last edited by sc0ttman on Mon 17 Sep 2018, 07:26, edited 2 times in total.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#32 Post by rockedge »

I will test it by adding the Ubuntu ZoneMinder PPA from iconner PPA and see pkg will install zoneminder correctly. or close to correctly...

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#33 Post by sc0ttman »

rockedge wrote:I will test it by adding the Ubuntu ZoneMinder PPA from iconner PPA and see pkg will install zoneminder correctly. or close to correctly...
If you pull down the latest commit (240a6ec6 or later), and re-download the `ppa2pup` script (https://gitlab.com/sc0ttj/Pkg/issues/31#note_101706643) then hopefully, it should work OK...

Don't forget to switch to the new PPA repo after you install it..

pkg repo <repo-name>

.. then you can start adding packages from the PPA repo:

pkg add <pkgname>


NOTE ABOUT 'FALLBACK REPOS':

By default, Pkg will create a 'fall back' list for the newly added repos..
A 'fall back' list is simply the list of other repos to fall back to when looking for deps..

When you add a PPA repo, its fallback list will starts with the repo selected at the time of adding
the PPA, and then that repos fallbacks, and then the other repos..

For example, if your current repo is 'bionic-teamxbmc' when adding a new PPA repo, then
'bionic-teamxbmc' will be the first repo that your newly added PPA falls back to when looking for deps...

Therefore - it is recommended (not essential) you add new PPA repos while your current repo is one of the
'main' ones, like 'bionic-main', or 'xenial-main' (etc)..
(and not some other PPA repo)

Type `pkg repo-info` to see repo info, including the fallback list for that repo.

You can always edit the fall back lists in ~/.pkg/sources (look for the line that contains your new repo, and
edit the last field (a space separated list of repo names).
Last edited by sc0ttman on Tue 18 Sep 2018, 14:08, edited 1 time in total.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#34 Post by sc0ttman »

Also added a nice fix for TAB completion ... Makes it work much better..

Pkg can auto complete commands (install, update, search, list-deps, add-source ,etc, etc) ... and also package names ... and repo names ..

And it is context sensitive.. Pkg will auto-complete and list only the relevant things depending on which command you run..
(for example, Pkg will list only installed packages for `pkg rm [TAB]`)

If you already installed the gitlab repo somewhere, you can update like so:

Code: Select all

cd ~/gitlab/Pkg  # (or wherever you put it)
git checkout master
git pull origin master
./installer.sh
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

RedQuine
Posts: 52
Joined: Fri 20 Mar 2015, 14:34

Successfully installed Transmission 2.94!

#35 Post by RedQuine »

Wow, it worked! Thanks, sc0ttman :D

I'd been struggling to install Transmission 2.94 on BionicPup 64 as the dependencies appeared to grow arms and legs and crawl off in different directions. This script got it installed and working in an instant.

In case anyone else needs it, I got the PPA details from here:
http://ubuntuhandbook.org/index.php/201 ... ntu-18-04/

I added the repo, downloaded the .deb and installed it, all through the script. I love the way the user's guided through the steps - all beautifully clear.
Last edited by RedQuine on Sat 23 Feb 2019, 09:53, edited 1 time in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#36 Post by wiak »

This package manager seems to be coming along in leaps and bounds. Very exciting for Puppy I'd say. Are there plans for this to become integrated into woofCE or at least become standard install with new Pups (which certainly would require it being provided by woofCE at least)? I'm surprised, in the circumstances of its need, not to hear more comments from Pup main developers about this development aside from the regular reports from its dev in this thread. Come on guys, get this adopted as a core Puppy facility!

wiak

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#37 Post by sc0ttman »

Updates

Improvements to ppa2pup script:
* now supports third-party debian repo URLs, as well as Launchpad PPA URLs
* which now allows installing repos from websites other than Launchpad :)
* also, important fixes in getting the deps list of each package

New slack2pup script:
* convert third-party Slackware repos to Puppy repos


Downloads

Download ppa2pup:
https://gitlab.com/sc0ttj/dotfiles/raw/ ... in/ppa2pup

Download slack2pup:
https://gitlab.com/sc0ttj/dotfiles/raw/ ... /slack2pup

Save in your $PATH.. Make executable..

Both scripts create and also install the repos for you (requires Pkg to be installed).


ppa2pup usage:

Code: Select all

This script creates a Puppy-compatible repo file from a PPA or Debian repo.

For Launchpad PPA repos:

  Usage: ppa2pup ppa:<user>/<repo> [debian|ubuntu] [bionic|stretch|artful|etc]

Examples:

  ppa2pup ppa:team-xbmc/ppa

  ppa2pup ppa:team-xbmc/ppa ubuntu bionic

  ppa2pup ppa:team-xbmc/ppa ubuntu artful

  ppa2pup ppa:team-xbmc/ppa debian stretch


For other third-party Debian repos:

  Usage: ppa2pup http://site.com/[debian|ubuntu]/ [stretch|bionic|etc] [main|contrib|etc]

Examples:

  ppa2pup http://rpms.litespeedtech.com/debian/

  ppa2pup http://rpms.litespeedtech.com/debian/ stretch main


NOTE: Any ommitted distro names or versions will be guessed.


slack2pup usage:

Code: Select all

slack2pup - convert Slackware repos to Puppy repo files

Usage examples:

  slack2pup http://site.com/path/to/PACKAGES.TXT

  slack2pup http://site.com/path/to/PACKAGES.TXT.gz
NOTES:

Finding third-party Debian repos:

If the file listing dir in your browser contains dirs called 'dists' and 'pool', then that URL is probably the URL you need for ppa2pup - just paste it into the terminal and optionally append the distro version and repo stream (main/contrib/etc) to the `ppa2pup` command, if needed.

Finding Slackware repos:

Choose the repos for your architecture... Be careful choosing the PACKAGES.TXT file for Slackware repos, some sites contain multiples ones at various levels.. In that case, choose the first one you find (highest level) and start there.

Some 3rd party Slackware repos can be found here: http://www.slakfinder.org/showrepo.php

EDIT: Just fixed some errors in generating the correct repo names & URLs from given URLs.. Should be fixed now... If Pkg was giving "Error: Package URL not found", this should fix it.

EDIT2: Just re-fixed slack2pup - it was including '.gz.' in repo url ... :oops: :roll:
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#38 Post by sc0ttman »

I have updated the ppa2pup script so that is also takes the repo stream as well.. Download from link above.

Code: Select all

Usage examples:

ppa2pup ppa:foo/bar ubuntu bionic contrib 
ppa2pup ppa:foo/bar ubuntu bionic non-free 
ppa2pup ppa:foo/bar debian stretch main 
..etc..
If you don't give the repo stream, it will default to 'main' ..
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#39 Post by sc0ttman »

I've updated the ppa2pup script:

Some of the launchpad/ppa/debian repo URLs that ppa2pup supports have multiple
repos streams (actually called 'components') inside them, called things like 'main', 'contrib', 'non-free', and other stuff...

The ppa2pup script now supports the creation of separate repos for each 'component',
so it will create a repo for each 'component' passed to it...


Example:

ppa2pup http://foo.com/debian/ stretch main contrib non-free

(So, the usage is the same as before, but you can now add more components to the end)

In the example above, 3 repos would be created (foo-main, foo-contrib & foo-non-free), each making
packages from foo.com available to install..
Last edited by sc0ttman on Fri 07 Dec 2018, 00:57, edited 2 times in total.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

apt2pup

#40 Post by sc0ttman »

....I've been trying to make it easier to add new repos to Puppy...

Background info

You'll often see installation instructions for 3rd party repos in Debian/Ubuntu like these:

Code: Select all

sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
or

Code: Select all

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
or

Code: Select all

wget -O- http://neuro.debian.net/lists/stretch.de-m.libre | sudo tee /etc/apt/sources.list.d/neurodebian.list
(just FYI, the "official" repos tend to be in /etc/apt/sources.list, while 3rd party repos go in /etc/apt/sources.list.d/<name>.list )

Read more info about SourcesList at the Debian website.


Problem!

The commands above don't work in Puppy - not even ones based on Debian/Ubuntu :(

But in Debian/Ubuntu, all these commands (and others) add a new repo to the system, making new
packages available..


Solution (so far)

New script: apt2pup

A script which processes the contents of /etc/apt/sources.list and /etc/apt/sources.list.d/*.list files,
and converts each repo found into a Puppy-compatible repo (using ppa2pup)

it will remove and (re)convert the repos it finds each time it is run... And it is quite slow... :oops:

Download:
https://gitlab.com/sc0ttj/dotfiles/raw/ ... in/apt2pup

Requires Pkg and ppa2pup be installed...

Code: Select all

# apt2pup -h

This script gets the repo URLs listed in /etc/apt/sources.list, and
passes them to `ppa2pup`, which then creates a Puppy-compatible repo
from the repo URLs it receives (if possible).

More info:

/etc/apt/sources.list usually contains lines like:

    deb      https://deb.nodesource.com/node_8.x     trusty           main
    deb      http://apt.postgresql.org/pub/repos/apt   trusty-pgdg  main
    deb-src http://apt.postgresql.org/pub/repos/apt  trusty-pgdg   main

The first bit refers to package type (regular or source), the second
is the URL where the packages are, the third is OS version, and
the last is the "repo stream" - often main, contrib, or non-free.

This script will ignore "deb-src" entries, and parse the others
....Why?

Eventually, these scripts will end up inside Pkg, making it easy to add/remove repos from
a variety of (compatible) sources:

* 3rd party Slackware, Ubuntu, Debian URLs
* Launchpad PPAs
* using `apt-add-repository` commands
* using `pkg add-source` command
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

#41 Post by Max Headroom »

G'day sc0ttman, I've been Directed 2 your cli Package Manager in the Hope that it can Resolve Missing Python ( among Other ) Dependencies when Trying 2 install Compiz & VLC w/ the Std Native Puppy Package Manager in LxPup Bionic 18.05 on an HP Compaq NC8230, 1.73 GHz intel Centrino CPU, 2 GB RAMemory, ATI Radeon X600 Graphix. Frugal install Dual Booting w/ M$ Virus Magnet Windows

However My cli aRe rather Basic & I Need Help installing your cli Package Manager, Please ;-)K
Attachments
Screenshot.png
(151.8 KiB) Downloaded 360 times
PC is Not Political Correctness :P , it's a Personal Computer! Boycott the Evil M$ & Google!

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#42 Post by sc0ttman »

cd into the Pkg-master folder, and THEN run the installer...

Sorry, it's a crappy, simplistic installer script..
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

#43 Post by Max Headroom »

G'day sc0ttman, I'm Sorry but it's still not working? What am I doing wRong?, Please...

;-(K
Attachments
Screenshot2.png
(136.96 KiB) Downloaded 342 times
PC is Not Political Correctness :P , it's a Personal Computer! Boycott the Evil M$ & Google!

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#44 Post by sc0ttman »

I could suggest other ways to install ... But I'll tell you where you went wrong, in case you care...

You typed:

cd /Pkg-master

but you should have typed (no leading slash):

cd Pkg-master

or (also works):

cd /root/Pkg-master

The reason it didn't work for you is because "cd /Pkg-master" expects the Pkg-master folder to exist at / (the very top level).
..But it's inside the /root folder... hence the latter two commands work...

Then ... once you got inside the /root/Pkg-master folder, you ran

installer.sh

... you tried to run the script but didnt give any path, only the filename (by default your terminal looks for comands with no path in /usr/bin/, /usr/local/bin/ and a bunch of other places where commands (like 'cd') live.. It's called the $PATH)... But in this case it couldn't find installer.sh, cos it's not in your $PATH, it's in the current dir...

To fix your input, simply give the path, which in your case, at that point, was the current dir (represented by a dot):

./installer.sh

... that should do it... Using ./something means something in the current dir...

[...confusingly the 'cd' command (and others) don't need ./ to find stuff in the current dir, but when executing commands or scripts directly in the terminal itself (running Bash), then you do need to use ./ to execute stuff in the current dir, else it will look in $PATH]

I will get around to making a more up to date PET at some point, which
would be easier to install...

Or... last resort, you can *probably* use ROX to highlight all the folders in Pkg-master, then drag and copy to / ... That might also work..

... Hopefully that is all clear as mud :oops:
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
Max Headroom
Posts: 421
Joined: Wed 28 Jun 2006, 07:17
Location: GodZone Kiwi
Contact:

#45 Post by Max Headroom »

Thanx sc0ttman 4 your support... Clear as Mud indeed! ;-\

Thanx 2 yoU, I've Successfully installed your cli Package Manager, which then Successfully installed VLC, Testes Working! ;-)

But unfortunately Compiz still isn't working... ? I don't understand the Error :-(
Attachments
Screenshot3.png
(177.65 KiB) Downloaded 348 times
PC is Not Political Correctness :P , it's a Personal Computer! Boycott the Evil M$ & Google!

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

at last...

#46 Post by sc0ttman »

Sorry ... I dont know anything about Compiz... You could post in the Users (for the regulars) section ...


-------------------

Somewhat related to the above post about working with local files..

I have finally fixed TAB completion for local files and dirs in the latest Pkg :D 8)

Code: Select all

pkg <command> ./path/to/local/file
and

Code: Select all

pkg <command> ../path/to/local/file
Basically, whenever working with local files, Pkg TAB completion will work much better.. especially if you start with ./ or ../ when TABbing to complete dirs & files :D

This makes Pkg much nicer to work with when checking, converting, installing (etc) local files - cos you can complete long pkg names and traverse long dir names so much easier (just hit TAB)..

------------

Pkg still keeps it's custom, context-sensitive TAB completion too...

Example, if you type

Code: Select all

pkg repo-list [TAB]
you will get a list of all repos auto completed (not local files and dirs)..

And if you do

Code: Select all

pkg uninstall [TAB]
you will get a list of all installed packages (not local files or dirs)

And if you do

Code: Select all

pkg add gimp[TAB]
you will get available gimp packages listed from your repos

...etc..


As far as I am aware, there are not many (if any) other package managers out there with this cool, context-sensitive TAB completion - Pkg can now auto-complete files & dirs properly (like most commands), but also (auto filtered) package names, repo names, build scripts, as well as its own commands & options, and more.
Last edited by sc0ttman on Sun 18 Nov 2018, 16:15, edited 1 time in total.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

Pkg to 1.9.22

#47 Post by sc0ttman »

I've updated Pkg to 1.9.22

I have also added an updated PET to the first post for easier download/install:

Download link:
http://www.murga-linux.com/puppy/viewto ... &id=120124

Pkg is in a pretty good place at the moment, hence the versioned release...
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

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

#48 Post by bigpup »

Any way to get the GUI to startup in a bigger window so the description is visible?

looking like this:
Attachments
capture20272.jpg
Make it start like this
(52.11 KiB) Downloaded 693 times
capture20968.png
As it now starts
(47.85 KiB) Downloaded 693 times
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)

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#49 Post by sc0ttman »

You could update your JWM settings in ~/.jwm/jwmrc-personal to fix the dimensions.

Or hack /usr/sbin/gpkgdialog (look for a line that has gtkdialog in it, around there somewhere, adjust the height="" and width="" bits)

----------------------

I've done some updates and fixes for Pkg since releasing the 1.9.22 PET ..
(available on Gitlab)

I've done some fixes for the commands:

Code: Select all

pkg sfs-combine <pkg-name>

Code: Select all

pkg pkg-combine <pkg-name>
The fixes, some of which only affect .deb based Pups, include:

- fix handling of libs: respect /usr/lib/i386-linux-gnu symlinks (also i486/i586/i686 and amd64)
- fixes failure to handle package names with various suffixes
- fixes failure to sometimes find the right file
- fix - delete downloaded packages once they're no longer needed
- fixes in creation of a single, combined pinstall.sh file
- fixes in output messages (removed outdated commands, and more)
- fixes in `pkg install <sfs-file>` and `pkg uninstall <sfs-file>`


So now, the following work fine for me on Puppy Stretch 7.5 (based on Debian):

Code: Select all

pkg sfs-combine gimp

Code: Select all

pkg sfs-combine kodi
.. the 2 commands above should now produce working SFS files of the Gimp and Kodi on any .deb based Puppies :)

Also, the following commmands should now work OK for loading/unloading SFS files:

Code: Select all

pkg install /path/to/some.sfs

Code: Select all

pkg uninstall /path/to/some.sfs
(Pkg will detect they are SFS files and (un)mount them as needed... So now Pkg is a bit better at handling SFS files as native packages ;) )


If the SFS files you created are in ~/pkg/ (the default Pkg work dir), then, even simpler, you can just do this:

Code: Select all

pkg install <package-name>

Code: Select all

pkg uninstall <package-name>
For example:

Code: Select all

pkg install gimp
(will install the GIMP SFS package, if it's found in ~/pkg/)

...Also, I updated command_not_handle.sh to show local packages too..

So when you run a command that is not found, you will see something like this - with matching local packages now suggested too:

Code: Select all

# kodi
The 'kodi' command might be available in the following packages:

kodi_17.1+dfsg1-3

You can install it with the following command:
  pkg add kodi

These local packages may also be a match:

  kodi_17.1+dfsg1-3-WITHDEPS_stretch_7.5.sfs
(I tested the above stuff by building Blender, Gimp, OpenArena, Nexuiz and Kodi SFS files, all of which ran OK after install after these fixes :) )
Last edited by sc0ttman on Tue 04 Dec 2018, 00:42, edited 2 times in total.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

new commands: add-repo, rm-repo

#50 Post by sc0ttman »

I've added two new, pretty cool commands:

pkg add-repo - add a third-party Ubuntu, Debian or Slackware repo

pkg rm-repo - remove/uninstall any user-added repo

... now adding more repos to your Puppy will be easier than ever!

Now available in the latest Pkg :)


Adding a repo:

Code: Select all

pkg add-repo <repo-name|repo-url> [distro] [distro-version] [repo-stream(s)]
...to see more help and info, just type:

Code: Select all

pkg add-repo
or

Code: Select all

pkg usage add-repo
You will get:

Code: Select all

# pkg usage add-repo

Usage: pkg add-repo <repo-name|repo-url> [distro] [distro-version] [repo-stream(s)]

Creates a Puppy-compatible repo file from a third-party PPA (Ubuntu), Debian or Slackware repo.

** For Launchpad PPA or Ubuntu third-party repos:

  pkg add-repo ppa:<user>/<repo> [debian|ubuntu] [bionic|stretch|artful|etc] [main,all,contrib,non-free,etc]

Examples:

  pkg add-repo ppa:team-xbmc/ppa
  pkg add-repo ppa:team-xbmc/ppa ubuntu bionic
  pkg add-repo ppa:team-xbmc/ppa ubuntu artful
  pkg add-repo ppa:team-xbmc/ppa debian stretch

** For third-party Debian repos:

  pkg add-repo http://site.com/[debian|ubuntu]/ [stretch|bionic|etc] [main,contrib,non-free,etc]

Examples:

  pkg add-repo http://rpms.litespeedtech.com/debian/
  pkg add-repo http://rpms.litespeedtech.com/debian/ stretch main
  pkg add-repo http://repo.steampowered.com/steam/ precise steam
  pkg add-repo http://http.kali.org/kali/ kali-bleeding-edge main contrib non-free

NOTE: Any ommitted distro names, distro versions or repo streams will be guessed.

** For third-party Slackware repos:

  pkg add-repo <repo-url>

Examples:

  pkg add-repo https://rlworkman.net/pkgs/14.2/PACKAGES.TXT.gz
  pkg add-repo https://packages.slackonly.com/pub/packages/14.2-x86/PACKAGES.TXT.gz

NOTE: Slackware repos must end with PACKAGES.TXT or PACKAGES.TXT.gz
EDIT [29th Nov]: bugfixed the above commands, and the installer - which will no longer remove any repos you added yourself upon (re)installation..
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

Post Reply