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 Wed 20 Aug 2014, 00:58
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
Package categories help wanted
Moderators: Flash, Ian, JohnMurga
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 2 of 2 Posts_count   Goto page: Previous 1, 2
Author Message
L18L

Joined: 19 Jun 2010
Posts: 2505
Location: Burghaslach, Germany somewhere also known as "Hosla"

PostPosted: Thu 15 Nov 2012, 07:50    Post_subject: Package categories help wanted
Sub_title: games -> Fun
 

Let's start with Fun Laughing

s5.sed wrote:
s/Game; /Fun_Sub /
s/Game;ActionGame; /Fun_adventure /
s/Game;Action; /Fun_adventure /
s/Game;BlocksGame; /Fun_Sub /
s/Game;Blocks; /Fun_Sub /
s/Game;AdventureGame; /Fun_adventure /
s/Game;Adventure; /Fun_adventure /
s/Game;ArcadeGame; /Fun_arcade /
s/Game;Arcade; /Fun_arcade /
s/Game;BoardGame; /Fun_boardgame /
s/Game;Board; /Fun_boardgame /
s/Game;CardGame; /Fun_cardgame /
s/Game;Card; /Fun_cardgame /
s/Game;KidsGame; /Fun_Sub /
s/Game;LogicGame; /Fun_puzzle /
s/Game;RolePlaying; /Fun_adventure /
s/Game;Simulation; /Fun_Sub /
s/Game;SportsGame; /Fun_Sub /
s/Game;StrategyGame; /Fun_puzzle /
s/Game;Strategy; /Fun_puzzle /

Code:
sed -f s5.sed Categories_package.sorted | sort > xxx
mv xxx Categories_package.sorted

has given puppy category and subcategory to 330 Fun packages

The sad rest is:
Quote:
Game;Emulator; bsnes
Game;Emulator; dosbox
Game;Emulator; kcemu
Game;Emulator; rlvm
Game;FileTools; snespurify
Game;GPE; gpe-julia
Game;Music;Education linthesia

dosbox a game is not a joke. Is it?
So what now? Silently forget that rest?

@technosaurus, I think that I have now found one way to continue.
Inserting package names into categories.dat will be be the very last step....
Back to top
View user's profile Send_private_message 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Thu 15 Nov 2012, 21:43    Post_subject:  

L18L,
Ha ha, 'dosbox' a game Laughing

Well, yesterday I did a test Precise build, and the 'debdb2pupdb' utility created this package database entry for dosbox:

Code:
dosbox_0.74-2|dosbox|0.74-2||Graphic|2468K|pool/universe/d/dosbox|dosbox_0.74-2_i386.deb|+libasound21.0.24.1,+libc6&ge2.7,+libgcc1&ge4.1.1,+libgl1-mesa-glx,+libpng12-0&ge1.2.13-4,+libsdl-net1.2,+libsdl-sound1.2&ge1.0.1,+libsdl1.2debian&ge1.2.10-1,+libstdc++6&ge4.6,+libx11-6,+zlib1g&ge1.1.4|x86 emulator with Tandy/Herc/CGA/EGA/VGA/SVGA graphics sound and DOS|ubuntu|precise||


...assigned it as "Graphic" category. It would have picked up on that keyword "graphics" in the description and assigned the category -- obviously it has done that before discovering "emulator".

That's one reason a more fleshed-out categories.dat will be very helpful. debdb2pupdb will check that first, failing that can then fall back to the somewhat-less-than-perfect method of checking description keywords.

Thanks for all the work you are doing on this, it is great!

_________________
http://bkhome.org/news/
Back to top
View user's profile Send_private_message Visit_website 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Thu 15 Nov 2012, 22:06    Post_subject:  

L18L,
while putting pkgs into categories.dat, or preparing to do so, if you think that there is a bunch of packages that really should have another sub-category, we can easily add that.

For example, maybe many of the top-level categories should have a "utility" sub-category. For example:

Code:
CONST PKG_CAT_Business_Sub$=" "
CONST PKG_CAT_Business_spreadsheet$=" gnumeric "
CONST PKG_CAT_Business_planner$=" planner "
CONST PKG_CAT_Business_finance$=" acct expensetracker grisbi homebank moneymanagerx "
CONST PKG_CAT_Business_calc$=" calcoo cgtkcalc galculator gmeasures ycalc xcalc "


There may be some utility-type business apps, for which we should have "PKG_CAT_Business_utility" variable.

Note, in the menu we don't have to have horizontal lines between all of the sub-categories. Some can be grouped. So, these variables are for organizational purposes, actual display in the menu is flexible.

In fact, in Precise there are no horizontal bars between "spreadsheet" and "finance".

_________________
http://bkhome.org/news/
Back to top
View user's profile Send_private_message Visit_website 
L18L

Joined: 19 Jun 2010
Posts: 2505
Location: Burghaslach, Germany somewhere also known as "Hosla"

PostPosted: Fri 16 Nov 2012, 06:24    Post_subject:  

BarryK wrote:
... a more fleshed-out categories.dat will be very helpful. debdb2pupdb will check that first, failing that can then fall back to the somewhat-less-than-perfect method of checking description keywords...

This dosbox example has made it very clear what to do:

Assign exactly 1 (puppy) category/subcategory to each package.
Existing Categories (in .desktop file) may have more than 1 category, example:
dosbox.desktop wrote:
[Desktop Entry]
Type=Application
Name=DOSBox Emulator
Comment=Run old DOS applications
Icon=dosbox
Exec=dosbox
Terminal=false
Categories=Game;Emulator;


What can be done automatically?
Everything that has just 1 (sub)category.

I have continued to use some sed snippets and came to about
750 which cannot be automatically processed.
But before I publish this I will repeat this process to make sure that it is reproducible.

Then we will see if
Quote:
there is a bunch of packages that really should have another sub-category,
Back to top
View user's profile Send_private_message 
sunburnt


Joined: 08 Jun 2005
Posts: 5016
Location: Arizona, U.S.A.

PostPosted: Fri 16 Nov 2012, 19:36    Post_subject:  

While you`re writing specialized scripts to parse the desktop files...

Why not generate an app. library dependency data base with ldd.?

I`ve said that statistics on library usage is a key item for O.S. design.
Puppy`s installed libraries are probably a good list of common ones.

But many apps. need more, so which libs. are only used 1 or 2 times?

Include the commonly used libs. in Puppy or make an add-on SFS file.
The rarely used odd libs. just include with the apps. It`s good design!

# Sorry for stepping on your thread Barry... The thought struck me. Wink
Back to top
View user's profile Send_private_message 
pemasu


Joined: 08 Jul 2009
Posts: 5463
Location: Finland

PostPosted: Sat 17 Nov 2012, 10:51    Post_subject:  

Is this finding relevant to the packages categories work:
http://www.murga-linux.com/puppy/viewtopic.php?p=665179#665179
Back to top
View user's profile Send_private_message 
seaside

Joined: 11 Apr 2007
Posts: 886

PostPosted: Sun 18 Nov 2012, 14:17    Post_subject: Inspecting desktop files  

While there are some perl and python programs to convert a deb file to a tar.gz file, I was surprised to find that just using linux tools was actually faster.

I found that the tar file starts at exactly 60 bytes offset from the header "data.tar.gz". (At least in the 6 deb files I tested). So here's an extractor for *.desktop files.

Code:
#!/bin/sh
# extract *.desktop file from .deb file $1
# seaside November 18 2012

p=`grep --binary-files=text -m1 -b -o 'data.tar.gz' "$1"`
startp=$((${p%:*} + 60)) # add 60 to 'data.tar.gz'
dd if="$1" bs="$startp" skip=1 | tar -xz --strip 4 --wildcards --no-anchored '*.desktop'


Some further processing, checking right from the download could also be possible.

Actually, I might as well make a right-click deb2tar program out of this.

EDIT: deb2tgz. pet here
http://murga-linux.com/puppy/viewtopic.php?p=665691#665691

Cheers,
s
Back to top
View user's profile Send_private_message 
L18L

Joined: 19 Jun 2010
Posts: 2505
Location: Burghaslach, Germany somewhere also known as "Hosla"

PostPosted: Tue 20 Nov 2012, 16:03    Post_subject: Package categories help wanted
Sub_title: GUI for filling categories.dat
 

All data and scripts are in one directory.

fill_categories.tgz came a little later than the pictures

Code:
./reset # (only if starting or restart)
./fill_categories_GUI


The inserted package names are merged with the existing package names and sorted.

---------------------------------
edit
Note please
fill_categories_GUI line 154 wrote:
comm="`grep Comment= ../bk/a/$packagename.desktop | cut -d '=' -f2`"

this has to changed to link to the directory containing the .desktop files. These data have been uploaded here.
------
edit
above link here corrected (start=12, not 13)
fill_categories.tar.gz
Description  script and all necessary data in 1 directory
gz

 Download 
Filename  fill_categories.tar.gz 
Filesize  30.21 KB 
Downloaded  467 Time(s) 
fill_categories_ready.png
 Description   The easy way for 1208 packages:
automatic assignment from original category has happened
can be checked using comment

The more difficult work see downwards
 Filesize   41.36 KB
 Viewed   1288 Time(s)

fill_categories_ready.png

fill_categories_1_2.png
 Description   1- select input data file
2- select Puppy Subcategory and OK button
or
select Packages button
 Filesize   80.93 KB
 Viewed   972 Time(s)

fill_categories_1_2.png

fill_categories_3_4.png
 Description   Ex:
2 packages (gbirthday and globaltime)
assigned to Puppy Category Business_Sub

OK button continues to a confirm dialog
 Filesize   79.54 KB
 Viewed   994 Time(s)

fill_categories_3_4.png

fill_categories_5.png
 Description   Ex:
2 packages (gbirthday and globaltime)
assigned to Puppy Category Business_Sub
 Filesize   24.09 KB
 Viewed   975 Time(s)

fill_categories_5.png


Edited_times_total
Back to top
View user's profile Send_private_message 
L18L

Joined: 19 Jun 2010
Posts: 2505
Location: Burghaslach, Germany somewhere also known as "Hosla"

PostPosted: Tue 20 Nov 2012, 17:16    Post_subject:  

pemasu wrote:
Is this finding relevant to the packages categories work:
http://www.murga-linux.com/puppy/viewtopic.php?p=665179#665179

Yes, I think so.
Back to top
View user's profile Send_private_message 
pemasu


Joined: 08 Jul 2009
Posts: 5463
Location: Finland

PostPosted: Tue 20 Nov 2012, 17:17    Post_subject:  

It has been fixed with latest woof commits.

http://www.murga-linux.com/puppy/viewtopic.php?p=665483#665483
Back to top
View user's profile Send_private_message 
L18L

Joined: 19 Jun 2010
Posts: 2505
Location: Burghaslach, Germany somewhere also known as "Hosla"

PostPosted: Wed 21 Nov 2012, 04:54    Post_subject: Re: Package categories help wanted
Sub_title: GUI for filling categories.dat, link to .desktop files
 

L18L wrote:
edit
Note please
fill_categories_GUI line 154 wrote:
comm="`grep Comment= ../bk/a/$packagename.desktop | cut -d '=' -f2`"

this has to changed to link to the directory containing the .desktop files. These data have been uploaded here.


Sorry, my fault, wrong link to .desktop files.

All needed .desktop files are in applications.tar.gz down loadable from

http://murga-linux.com/puppy/viewtopic.php?t=82186&start=12 (not ....13)

Getting these .desktop files was the bandwidth consuming part.
Back to top
View user's profile Send_private_message 
technosaurus


Joined: 18 May 2008
Posts: 4334

PostPosted: Wed 21 Nov 2012, 17:01    Post_subject:  

I went through the desktop files looking for any gotchas and to see if it would be feasible to just include the icons but noticed that:
(41) apps use svg icons (not supported by jwm) ... need a wrapper to convert to png and modify desktop file on install
(15) specify no icon

_________________
Web Programming - Pet Packaging 100 & 101
Back to top
View user's profile Send_private_message 
sunburnt


Joined: 08 Jun 2005
Posts: 5016
Location: Arizona, U.S.A.

PostPosted: Thu 22 Nov 2012, 22:54    Post_subject:  

Oddly I can`t find any standard saying the icons are to have no extension.
But it`s obviously the case as none ( or few ) icons in desktop files do.
I`ve gotten an error once with a desktop file that had an icon extension.
# So it`s a good idea for Puppy to follow the no icon extension standard.

I think it was intended for the user app. to parse for the icon type it wants.
Example for JWM:
Code:
icon=`cat (app).desktop |grep 'Icon='`
Icon=`ls $ThemeIconPath/${icon#*=} |egrep '(png|xpm)'`


Here are links to the FreeDesktop standards for Catagories, Icons, etc.

http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html

Has code near bottom of page for parsing icons:
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html

http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html

http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html
Back to top
View user's profile Send_private_message 
amigo

Joined: 02 Apr 2007
Posts: 2232

PostPosted: Fri 23 Nov 2012, 06:10    Post_subject:  

"standard saying the icons are to have no extension" It's in the specs for desktop files. For icons which are correctly installed under /usr/share/icons, no path nor file extension should be given. This is assuming that your WM knows how to correctly find the icon -respecting any theme you have chosen, etc.

However, if using some non-standard location for the icon, then you should give the full path and filename.
Back to top
View user's profile Send_private_message 
Display_posts:   Sort by:   
Page 2 of 2 Posts_count   Goto page: Previous 1, 2
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0963s ][ Queries: 13 (0.0050s) ][ GZIP on ]