Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 27 Nov 2014, 21:51
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
packdude
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 3 of 5 [62 Posts]   Goto page: Previous 1, 2, 3, 4, 5 Next
Author Message
stemsee

Joined: 27 Jun 2013
Posts: 529
Location: London

PostPosted: Thu 29 May 2014, 03:38    Post subject: package formats conversion
Subject description: have a look
 

Have you seen this. Might be some useful scripts in there.

http://4mlinux.blogspot.co.uk/2013/12/alien-packages-deb-rpm-txz.html

cheers
Back to top
View user's profile Send private message MSN Messenger 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Thu 29 May 2014, 16:25    Post subject:  

I'm aware of alien and I think it's nice, but I want something different - a repository converter. I want to convert a repository myself, so they user doesn't have to go through the slow conversion process locally.

Regarding compiler stuff, my GCC cross-compiler fails to build a native self. I'm trying to cross-compile a static GCC using Aboriginal's toolchain.

_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
technosaurus


Joined: 18 May 2008
Posts: 4380

PostPosted: Thu 29 May 2014, 18:36    Post subject:  

Iguleder wrote:
Regarding compiler stuff, my GCC cross-compiler fails to build a native self. I'm trying to cross-compile a static GCC using Aboriginal's toolchain.

linuxfromscratch had a couple of patches for this problem... the autotools garbage messes up the 2nd pass iirc.

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
gcmartin


Joined: 14 Oct 2005
Posts: 4447
Location: Earth

PostPosted: Thu 29 May 2014, 20:42    Post subject:  

Sqlite should probably have been a standard feature in PUPs since smartPhones arrived years ago. 2 of the members here are WOOF-CE contributors. Please add for future PUPs as this PPM utility moves forward into mainstream.
_________________
Get ACTIVE Create Circles; Do those good things which benefit people's needs!
We are all related ... Its time to show that we know this!
3 Different Puppy Search Engine or use DogPile
Back to top
View user's profile Send private message 
8-bit


Joined: 03 Apr 2007
Posts: 3393
Location: Oregon

PostPosted: Fri 30 May 2014, 01:55    Post subject:  

One thing I never did like about PPM was the update process.
When run, it would attempt to update all repositories.
I would have preferred to be able to choose the ones that got updated.
And if one tries to interrupt the update process, the conversion of the file lists never gets completed and I have crashed PPM in the process.

WIll packdude have a graphical user display that shows available files in a repository?
Or is SQlite responsible for that?
Back to top
View user's profile Send private message 
technosaurus


Joined: 18 May 2008
Posts: 4380

PostPosted: Fri 30 May 2014, 02:11    Post subject:  

sqlite is really simple to learn. if you're interested you can use puppy built-in sqlite3 shell to play. The csv format is ideal for gtkdialog trees/lists. I even wrote a patch to output json for use in a browser front-end. Hopefully I can get netsurf's new JavaScript engine to work or elinks with spidermonkey/libsee so it can be used in the console (see akita thread for last elinks with libsee support)
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Fri 30 May 2014, 05:07    Post subject:  

I wrote gpackdude, a dead-simple packdude frontend, with gtkdialog1. It allows you to install or remove packages. Inspiration came from Tiny Core's FLTK-based extension manager, but I don't like the use of C++ because of bloat and the challenge of cross-compiling static C++ binaries. Also, I really like GTK1 Laughing

You don't have to worry about updating the database. In one of the latest commits, I made the repository package database cached. packdude will try to fetch the database without asking any questions, if it's one hour old. If you install multiple packages, packdude will update the database before the first installation.

If you look at the output of packdude -l and packdude -q, you'll notice it's exactly in the format of tree view entries in gtkdialog. You just have to wrap each output line with <item> tags. Here's the gpackdude code.

(screenshot taken under Xubuntu 14.04 x86_64)
gpackdude.png
 Description   
 Filesize   45.6 KB
 Viewed   335 Time(s)

gpackdude.png


_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
stemsee

Joined: 27 Jun 2013
Posts: 529
Location: London

PostPosted: Fri 30 May 2014, 05:24    Post subject: packdude  

It looks great! Very clear and logical. Any chance of a field for package size?

4Mlinux - even though it uses the word 'Alien' (noun) in the link it isn't alien (n) it is alien (adj). If you can't be bothered to have a look fair enough!
Back to top
View user's profile Send private message MSN Messenger 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Fri 30 May 2014, 06:33    Post subject:  

Intentionally, I decided to remove that field, for three reasons:
1) This allows developers to rebuild a defective package, without having to rebuild the database.
2) Size doesn't matter much, because packages are small thanks to xz compression. The internet connection of most users is fast enough to handle the download of packages in the size range of 80K to 1MB (most packages in the repository at the moment).
3) I believe people care more about functionality and less about size. If a user needs to convert an audio file and the only audio converter in the repository is ffmpeg, the user has to choose between installing a big package and giving up on that. Most users are sane and use their computers to do useful stuff.

Regarding alien - it's client-side and I want something server-side. Also, alien doesn't resolve dependencies. I'm talking about the old alien (https://en.wikipedia.org/wiki/Alien_(software)) - the 4M solution does the same thing.

_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
stemsee

Joined: 27 Jun 2013
Posts: 529
Location: London

PostPosted: Fri 30 May 2014, 07:08    Post subject:  

I wanted to install a more appealing mixer the other day, I had a CHOICE! Qasmxer or qashctl or jackmixer or retrovol, I chose gmerlin, because it offered the same functionality in a smaller package size, and because I'm psychologically dysfunctional! Comes from the longest posterity.

"Most users are sane and use their computers to do useful stuff. " This is debatable and lacks consensus and empirical evidence, I would say relatively!

Peace be with you. Have a nice day!
Back to top
View user's profile Send private message MSN Messenger 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Fri 30 May 2014, 11:25    Post subject:  

Just added two new features:
- Non-removable packages - if you pass -n, packdude will not remove the packages no matter what.
- Listing of removable packages - if you pass -c, packdude will list packages installed by the user which can be removed. Unlike -q, in this mode, packages installed as dependencies or non-removable ones are not displayed. In other words - this means it's possible to use packdude without ever seeing the dependencies of a package.

_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
mavrothal


Joined: 24 Aug 2009
Posts: 1808

PostPosted: Fri 30 May 2014, 11:41    Post subject:  

Iguleder wrote:
I wrote gpackdude, a dead-simple packdude frontend, with gtkdialog1. It allows you to install or remove packages.

What about "finding packages" and specially searching for function in addition to a package name ie "video player").
Is even more important as "category" is not implemented (is it going to?)

_________________
Kids all over the world go around with an XO laptop. They deserve one puppy (or many) too Very Happy
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Fri 30 May 2014, 11:49    Post subject:  

Nope, because it makes life harder for Woof. Some distros don't have a category field, so PPM has to guess the category using an ugly, hardcoded table of known packages.

I think categories should be a feature of the package manager frontend (the graphical interface). It could look for certain keywords (e.g "video player") in the package description field - that's the only way to guess the package category without having to put a table of all known packages in every Puppy.

Regarding package search - the frontend could run packdude -l | grep -i player.

_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
technosaurus


Joined: 18 May 2008
Posts: 4380

PostPosted: Fri 30 May 2014, 19:10    Post subject:  

I wrote a script for Scotman that went through the whole package database checking if the file list contained a .desktop file and if so, downloaded just enough of the package to extract the desktop file for categorization. ... should be in the akita thread I think.
_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send private message 
Iguleder


Joined: 11 Aug 2009
Posts: 1924
Location: Israel, somewhere in the beautiful desert

PostPosted: Sat 31 May 2014, 05:51    Post subject:  

Here's a usage example of packdude's new dependencies abstraction feature.

I installed xhippo (which depends on mpg123 and ogg122) and mtpaint (to take this screenshot, it has its own dependencies - e.g gifsicle). As usual, packdude installed their dependencies first.

On the left you can see the dialog which lets the user choose a package to remove, while on the right, you can see the list of all installed packages.

When the wants to remove a pacakge, gpackdude shows only the package the user chose to install, hiding away its dependencies (which cannot be removed - i.e mpg123 cannot be removed because xhippo depends on it). This makes the package manager interface a lot cleaner and very pleasant to work with, since it doesn't offer the user actions that won't work (such as removing a dependency of a package or removing the kernel).

Once the user removes a package, unneeded dependencies (e.g mpg123, in the case of xhippo) are cleaned up automatically, as before.
gpackdude.png
 Description   
 Filesize   8.7 KB
 Viewed   163 Time(s)

gpackdude.png


_________________
My homepage
Back to top
View user's profile Send private message Visit poster's website MSN Messenger 
ICQ Number 
Display posts from previous:   Sort by:   
Page 3 of 5 [62 Posts]   Goto page: Previous 1, 2, 3, 4, 5 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0843s ][ Queries: 12 (0.0046s) ][ GZIP on ]