- Status Closed
- Percent Complete
- Task Type Patches
- Category Rbutil
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Daily build (which?)
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#7277 - Debian (Ubuntu) packaging
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.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
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.
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.
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)
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 ?
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.
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.
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.
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 ?
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.
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
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 :)
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.
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
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.
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).
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.
here is my deb… fixes the dependece:
libc6 for feisty
and has the icon on the menu ;) for ubuntu feisty!