Rockbox

Tasklist

FS#7277 - Debian (Ubuntu) packaging

Attached to Project: Rockbox
Opened by Jonas Häggqvist (rasher) - Saturday, 09 June 2007, 05:22 GMT
Last edited by Jonas Häggqvist (rasher) - Sunday, 06 January 2008, 01:48 GMT
Task Type Patches
Category Rbutil
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

This patch makes it possible to build a debian package of rbutil. Currently it only works in Ubuntu since wxwidgets has not been built for Debian (and might not be in the foreseeable future - see http://bugs.debian.org/403237). Building the package requires the following packages installed: debhelber, fakeroot, build-essential, libwxgtk2.8-dev, devscripts, dh-make

To build the package simply execute "debuild -us -uc" in the rbutil directory. To clean up after this, execute "fakeroot debian/rules clean".

I have created this patch using the current development version of Ubuntu ("Gutsy Gibbon"), but it ought to work on 7.04 as well, at least requiring minimal changes.

The attached .deb may or may not install on 7.04 - I have no way to check.

This exposes another problem though: that rbutil expects write permissions in the dir the binary is in. To me, this is a bug, and should be fixed to write into a dot-file in the userdir on Linux/OSX/BSD and in the user's LocalSettings dir (I believe that's the right one, but may be wrong) on Windows.
This task depends upon

Closed by  Jonas Häggqvist (rasher)
Sunday, 06 January 2008, 01:48 GMT
Reason for closing:  Out of Date
Comment by Jonas Häggqvist (rasher) - Saturday, 09 June 2007, 05:39 GMT
Actually, scratch that last comment - I must not have been paying attention. The problem is of course that it's looking for the ini file, which I'm not copying over. This is still a problem though, since /usr/bin is no place for a file like that. It should (if it's not already - I haven't checked) check /etc/rbutil.ini, ~/.rbutil.ini and only THEN should it check the dir in which the executable lives IMHO.
Comment by Jonas Häggqvist (rasher) - Saturday, 09 June 2007, 08:25 GMT
This update includes the rbutil.ini file and removes the DESTDIR bit from the Makefile, since it was a misunderstanding to even have it there in the first place.

Updated .deb as well.
Comment by Nicolas Pennequin (nicolas_p) - Saturday, 09 June 2007, 12:46 GMT
I tried the .deb file on my feisty (7.04) installation, but it failed to install due to some dependency problems (I didn't have the right version of some requirements). I built a package on my system, but the thing is I had to build wxGTK myself to get rbutil to compile, so I'm not using the libwxgtk2.8-dev package (at least I think I'm not) and I'm not sure it'll work on anybody else's system.

EDIT: Also I just noticed that in the tar.gz archive that gets created, the .svn directories are present. This would need to be solved and I know svn can help with it (svn export)
Comment by Dominik Wenger (Domonoky) - Saturday, 09 June 2007, 15:53 GMT
Nice effort to build a package, i cant try it, but nice :-)

About the rbutil.ini file.
rbutil doesnt write to this file, its just the global config for rbutil.
Its easy to change, so that it looks in other dirs first.

If you like, i can change it :-)

And how about the User config file "RockboxUtility.cfg" it gets created, is it in the right place for linux ?
Comment by Jonas Häggqvist (rasher) - Saturday, 09 June 2007, 19:32 GMT
nicolas_p: Is the problem just that rbutil doesn't compile with the libwxgtk2.8 in Feisty? If so, that's not really our problem. About the tar.gz, that's not really terribly important for us as SVN will be the official method of obtaining the source anyway. If someone were to package this for proper inclusion into Debian, they'd have to take care of this of course, but then there are some other issues as well, that I'm not "qualified" to handle (the current package gets built as a "native" package - as if the software is created directly for Debian, which makes a lot of things a lot simpler).

Domonoky: Yes, RockboxUtility.cfg gets created in the right place (/home/username/.rbutil/RockboxUtility.cfg), I simply wasn't paying attention. I'd say checking for rbutil.ini in the following order would be most sane on Linux/BSD (and possibly OS X as well though I'm not sure about that):
1. in the same dir as the executable
2. /home/username/.rbutil/rbutil.ini
3. /etc/rbutil.ini

This way original behaviour is preserved in the current case (self-built binary in a non-standard location), any user can create their own config and a system-wide config can be provided in a sane location on "proper" installs. I would think something similar should be in place for Windows, but I'm probably not the right person to comment on this.
Comment by Dominik Wenger (Domonoky) - Saturday, 09 June 2007, 20:39 GMT
I have just commited those changes, so rbutil now looks also in the other folders if there is no rbutil.ini file in the app folder.
Comment by Jonas Häggqvist (rasher) - Sunday, 10 June 2007, 01:42 GMT
Excellent. I won't create another patch just for this minimal change - simply change the install target in the Makefile to install rbutil.ini in /etc/rbutil.ini rather than /usr/bin.
Comment by Nicolas Pennequin (nicolas_p) - Sunday, 10 June 2007, 12:09 GMT
bacon_boy: Yeah, rbutil only accepts to compile when I build wxGTK 2.8 myself from source. The ubuntu packages seem to lack some header files, but I don't understand why because I installed all the 2.8 related packages I could (-dev, -headers...). Isn't this important ? What would other people need to be able to use the package I built ?
Comment by Nicolas Pennequin (nicolas_p) - Sunday, 10 June 2007, 12:39 GMT
OK I think that in fact the problem was that I had several wx-config executables in different places, and the one that was picked by default was a 2.8.2 version, which seems to be too old. I was building with a 2.8.3 I compiled myself and now I've installed the packages from http://www.wxwidgets.org/downloads/, which are 2.8.4. After having deleted the old 2.8.2 executable, the default one is now the 2.8.4 one installed by package and rbutil compiles fine.
Comment by Dominik Wenger (Domonoky) - Sunday, 10 June 2007, 12:47 GMT
The wxwidgets 2.8 package for Ubuntu works also for Debian.
You just have to add the url from the wx site to your sources list.

So we just have to find out how the situation is with the rpm based distros, and we are set :-)

Comment by Nicolas Pennequin (nicolas_p) - Sunday, 10 June 2007, 13:49 GMT
Well I've solved my problems and built a package with v2.8.1. I've uploaded it to http://www.rockbox.org/twiki/bin/view/Main/RockboxUtility. Please feel free to test it :)
Comment by Jonas Häggqvist (rasher) - Sunday, 10 June 2007, 22:21 GMT
This version has the rbutil.ini in the right place, and also adds a .desktop entry which gives an entry in the GNOME menu (and probably KDE as well, perhaps XFCE), as well as a debian/menu entry that creates an entry in the Debian menu system.

For this to work, I converted the archos.ico to png and I install that in two locations.

NOTE: The deb is for Gutsy, not feisty.
Comment by Nicolas Pennequin (nicolas_p) - Sunday, 10 June 2007, 22:42 GMT
Nice idea, but don't you think the Rockbox icon would be better than a picture of an Archos device ?
Also I think the .deb you attached is for gutsy and not feisty ;-)

EDIT: After building the package on my system and installing it, the icon is nowhere to be found in my K-Menu
Comment by Jonas Häggqvist (rasher) - Sunday, 10 June 2007, 23:34 GMT
I don't really know how the KDE menu works, but the GNOME applications menu can hide/show entries - maybe Rockbox Utility gets hidden by default? As for the icon, I thought the archos.ico is what's being used by rbutil on Windows? Anyway, maybe someone should contact the tango desktop project and ask for a shiny icon? There's also the Rb icon that's used in the iriver fwpatcher.

Edit: I can confirm that on Debian, I do get a Rockbox Utility icon in my KDE menu, so I'm not quite sure what's going on in your case. I might try installing KDE on my Ubuntu install later today to see what's going on.
Comment by Nicolas Pennequin (nicolas_p) - Monday, 11 June 2007, 22:35 GMT
Where does it show ? In my kubuntu menu I have several categories and I have the Debian menu as one more. The Debian menu itself has a lot of submenus with a lot of entries so I might have missed it, even though I looked for it.
At least what I noticed is that the icon gets shown when I run the app directly (through the "execute command" dialog).
Comment by Jonas Häggqvist (rasher) - Tuesday, 12 June 2007, 09:53 GMT
In GNOME it shows under Applications > Accessories > Rockbox Utility
In (Debian's) KDE it shows under Utilities > Rockbox Utility - Rockbox Installer
In the Debian menu it shows under Apps > Tools > Rockbox Utility (But I think KDE may be hiding duplicates or something like that)

Edit: I just installed KDE in Ubuntu, and I get an icon under the same location as in Debian.
Comment by bodymind (bodymind) - Tuesday, 03 July 2007, 19:06 GMT
here is my deb...
fixes the dependece:
libc6 for feisty

and has the icon on the menu ;) for ubuntu feisty!

Loading...