puppy-get 2.0 beta

Under development: PCMCIA, wireless, etc.
Message
Author
mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

puppy-get 2.0 beta

#1 Post by mistfire »

This is a script that behaves like apt-get for installing packages.

Usage: puppy-get [options] [package name]

Parameters:
update - refresh/create master package database
install - install a package together with its dependencies
download - download only a package together with its dependencies
list - show the list of all packages in the master package database
info - show package information
stat - show number of packages in the database
rollback - restore last updated database
remove - uninstall a package
package <package filename> - install a package using package file
view-installed - show user installed packages
loaddb <filename> - load a package database file as master package database
search - search a package name in the master database

how it works:
this is script creates master package database file where all the contents of package database files inside the /root/.package will merge one as file. An existing entry in the master database will be overwritten by an entry with later versions. (It works best on this x.x.x.x version number scheme.) It means the master database contains latest version of the packages. Otherwise you load a package database file from PPM

When installing a package it searches the all dependencies needed to be installed (same as apt-get), download all packages, and install it.

Upon downloading, the script roams around the repo list until the valid download package link is found.

NOTE:

1. This script need more tests

2. Creating/updating master database really tooks a long time to complete depending on how many packages per database file. If you terminate the process, you will have truncated/incomplete master package database. the package searching and dependency checking in the script might not work accurately if you have an incomplete database. Or else you load a package database file from PPM.

You can contribute to this project by uploading the modified script on this thread.

Need more work:
* Handling unconventional version schemes
* Updating/upgrading pre-installed packages
Attachments
puppy-get-2.0.pet
beta version
(23.48 KiB) Downloaded 757 times
Last edited by mistfire on Wed 24 Apr 2019, 10:24, edited 24 times in total.
Simple, Magaan, at Mabilis (Simple, Light, and Fast)

backi
Posts: 1922
Joined: Sun 27 Feb 2011, 22:00
Location: GERMANY

#2 Post by backi »

Sounds interesting !

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#3 Post by technosaurus »

Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#4 Post by mistfire »

Thanks @technosaurus as of now. I successfully finished the script. Theoritically it will work. I cant test this script due to very limited internet bandwidth here in my place

Here is the finished script that I made
Attachments
puppy-get.gz
finished. fake gz. remove .gz extension
(46.84 KiB) Downloaded 496 times
Last edited by mistfire on Sat 14 Oct 2017, 08:53, edited 1 time in total.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#5 Post by mistfire »

Hello puppy-get has reached alpha stage. It is only a single script. you can improve that script if you want.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#6 Post by Keef »

Scrapped the reply I put in earlier, as I don't think it was accurate - will test it again later.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#7 Post by Keef »

I am getting this error:

Code: Select all

# ./puppy-get update
**** Processing Packages-puppy-common-official ****
./puppy-get: line 90: /root/.packages/repo/Packages-puppy-common-official: No such file or directory
**** Processing Packages-puppy-noarch-official ****
./puppy-get: line 90: /root/.packages/repo/Packages-puppy-noarch-official: No such file or directory
**** Processing Packages-puppy-slacko14.1-official ****
./puppy-get: line 90: /root/.packages/repo/Packages-puppy-slacko14.1-official: No such file or directory
**** Processing Packages-puppy-slacko14.2-official ****
./puppy-get: line 90: /root/.packages/repo/Packages-puppy-slacko14.2-official: No such file or directory
**** Processing Packages-slackware-14.2-extra ****
./puppy-get: line 90: /root/.packages/repo/Packages-slackware-14.2-extra: No such file or directory
**** Processing Packages-slackware-14.2-official ****
./puppy-get: line 90: /root/.packages/repo/Packages-slackware-14.2-official: No such file or directory
**** Processing Packages-slackware-14.2-salix ****
./puppy-get: line 90: /root/.packages/repo/Packages-slackware-14.2-salix: No such file or directory
Removing the /repo bit does work, but the update was taking a long time and I had to go out, so quit. Will run it again later and see if it completes.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#8 Post by mistfire »

@Keef did you run the latest script that I uploaded today? Im already fixed that error. Making master database really tooks a long time to complete depending on how many packages per database file. If you terminate the process, you will have truncated/incomplete master package database. the package searching and dependency checking in the script might not work accurately if you have an incomplete database.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#9 Post by mistfire »

puppy-get 1.0 alpha released

changes:
* Improved packages searching.
* Autobackup master database when updating.
* Faster download link roaming.
* New parameters added
+ stat - shows number of packages in the master database
+ rollback - restore last updated master database.

NOTE: The master database for this script is different from previous. run "puppy-get update" first before using.
Attachments
puppy-get-1.0_alpha.gz
more improvements. fake gz. remove .gz extension. rename as puppy-get
(49.36 KiB) Downloaded 489 times

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#10 Post by mistfire »

puppy-get 1.0 beta released

changes:
* bugfix on installation of packages
* new commands added
+ remove - uninstall a package
+ package - install a package using package file
+ view-installed - show user installed packages
+ loaddb - load a package database file as master package database
Attachments
puppy-get_beta.gz
beta version. remove .gz extension. set permission to 777 or +x
(72.28 KiB) Downloaded 475 times

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#11 Post by ally »

hey mist

just tried your script in xenialpup64 7.0.2.5

tried a couple of small installs, dillo and gweled

sadly both failed to run with missing dependencies

dillo is missing libfltk.so.1.3

gweled is missing libmikmod.so.3

unable to install the above manually (ie puppy get install ...)

running remove on both installs returns package not installed

running view-installed returns Fun and Internet where the packages were installed to (there are menu entries for both packages)

hope this makes sense...

:)

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#12 Post by ally »

I have also tried editing user installed packages by adding dillo to the internet field but no joy

I have tried remove with full package name (ie dillo_3.0.5-2_amd64) but no joy also

copies of user installed packages, dillo files and gweled files included (fake .gz)

:)
Attachments
gweled_0.9.1-3ubuntu1_amd64.files.gz
(3.69 KiB) Downloaded 448 times
dillo_3.0.5-2_amd64.files.gz
(3.34 KiB) Downloaded 462 times
user-installed-packages.gz
(920 Bytes) Downloaded 495 times

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#13 Post by mistfire »

Hi @ally can you gave me the download link of your packages that installed?

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#14 Post by ally »

how do I find that? I used puppy-get install

:)

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#15 Post by mistfire »

@ally

ah ok, I thought that you are using the "puppy-get package" command. By the way can you send me your master package database file that you generated? that file was /root/.packages/pkg-master-db

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#16 Post by ally »


mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#17 Post by mistfire »

Wow! your master package database was huge! at least it will gave me a clue to fix that error on that script

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#18 Post by mistfire »

@ally I find now the culprit. the dependency names in the master database must not include version numbers. I will try to correct that.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#19 Post by mistfire »

puppy-get 1.1 beta released

changes:

* bugfix on dependency sniffing for debian-based puppy package database
* some overhaul on package installation
* with summary report on install command after executed

@ally I finally now fixed the error the dependency sniffing now works on puppy xenial. I finally make some revisions on package install function
Attachments
puppy-get-1.1-beta.gz
fake gz. remove .gz extension
set permission to 777
rename as puppy-get
(76.27 KiB) Downloaded 352 times

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#20 Post by ally »

hi

1.1 fixes the install, dependencies corrected for my two installs, gweled and dillo

remove still failing with package not installed

I re-ran the database update prior to new installs of the above

:)

Post Reply