Is this finding relevant to the packages categories work:
http://www.murga-linux.com/puppy/viewto ... 179#665179
Package categories help wanted
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.
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. ... 691#665691
Cheers,
s
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: Select all
#!/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'
Actually, I might as well make a right-click deb2tar program out of this.
EDIT: deb2tgz. pet here
http://murga-linux.com/puppy/viewtopic. ... 691#665691
Cheers,
s
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
Package categories help wanted
All data and scripts are in one directory.
fill_categories.tgz came a little later than the pictures
The inserted package names are merged with the existing package names and sorted.
---------------------------------
edit
Note please
------
edit
above link here corrected (start=12, not 13)
fill_categories.tgz came a little later than the pictures
Code: Select all
./reset # (only if starting or restart)
./fill_categories_GUI
---------------------------------
edit
Note please
this has to changed to link to the directory containing the .desktop files. These data have been uploaded here.fill_categories_GUI line 154 wrote: comm="`grep Comment= ../bk/a/$packagename.desktop | cut -d '=' -f2`"
------
edit
above link here corrected (start=12, not 13)
- Attachments
-
- fill_categories.tar.gz
- script and all necessary data in 1 directory
- (30.21 KiB) Downloaded 866 times
-
- fill_categories_ready.png
- The easy way for 1208 packages:
automatic assignment from original category has happened
can be checked using comment
The more difficult work see downwards - (41.36 KiB) Downloaded 1583 times
-
- fill_categories_1_2.png
- 1- select input data file
2- select Puppy Subcategory and OK button
or
select Packages button - (80.93 KiB) Downloaded 1179 times
-
- fill_categories_3_4.png
- Ex:
2 packages (gbirthday and globaltime)
assigned to Puppy Category Business_Sub
OK button continues to a confirm dialog - (79.54 KiB) Downloaded 1692 times
-
- fill_categories_5.png
- Ex:
2 packages (gbirthday and globaltime)
assigned to Puppy Category Business_Sub - (24.09 KiB) Downloaded 1178 times
Last edited by L18L on Wed 21 Nov 2012, 11:06, edited 2 times in total.
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
Yes, I think so.pemasu wrote:Is this finding relevant to the packages categories work:
http://www.murga-linux.com/puppy/viewto ... 179#665179
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
Re: Package categories help wanted
Sorry, my fault, wrong link to .desktop files.L18L wrote:edit
Note pleasethis has to changed to link to the directory containing the .desktop files. These data have been uploaded here.fill_categories_GUI line 154 wrote: comm="`grep Comment= ../bk/a/$packagename.desktop | cut -d '=' -f2`"
All needed .desktop files are in applications.tar.gz down loadable from
http://murga-linux.com/puppy/viewtopic. ... 6&start=12 (not ....13)
Getting these .desktop files was the bandwidth consuming part.
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
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
(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
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].
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:
Here are links to the FreeDesktop standards for Catagories, Icons, etc.
http://standards.freedesktop.org/menu-s ... c-1.0.html
Has code near bottom of page for parsing icons:
http://standards.freedesktop.org/icon-t ... atest.html
http://standards.freedesktop.org/icon-n ... atest.html
http://standards.freedesktop.org/deskto ... 01s06.html
http://standards.freedesktop.org/deskto ... 01s05.html
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: Select all
icon=`cat (app).desktop |grep 'Icon='`
Icon=`ls $ThemeIconPath/${icon#*=} |egrep '(png|xpm)'`
http://standards.freedesktop.org/menu-s ... c-1.0.html
Has code near bottom of page for parsing icons:
http://standards.freedesktop.org/icon-t ... atest.html
http://standards.freedesktop.org/icon-n ... atest.html
http://standards.freedesktop.org/deskto ... 01s06.html
http://standards.freedesktop.org/deskto ... 01s05.html
"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.
However, if using some non-standard location for the icon, then you should give the full path and filename.