please help out with gdebi - a history of why

Short summary: if you are looking for a way to help Debian become a bit more user friendly, please take care of gdebi in Debian.

I'm rather upset. So beware, rant ahead.

The reason dates back to the beginning of this afternoon, when a friend of mine, GNU/Linux newbie, mailed me asking for help with his brand new (to my astonishment) Debian Lenny installation running the GNOME desktop environment. The request was simple and common to a lot of our users: "how can I see videos on YouTube and use Skype"?

Surely, the first (brief) explanation I gave was why those pieces of software are not in Debian, because they are pieces of evil proprietary software. Fair enough, usual song and dance, that gets the message through. But than, given that I personally care about releasing a completely free operating system, but not necessarily in inhibiting the usage of any non-free bits of software, I wanted to actually solve my friend's problem.

Regarding flashplugin-nonfree, unfortunately it is not in Lenny. Two solutions to that: either point him to http://www.backports.org and explain how to use them from synaptic (not particularly hard). Or give him a direct download link of the .deb coming from backports.org.

It turns out that for Skype there is no such choice. Once there used to be an APT-gettable repository for their debs, but it seems to have vanished (or else I can't find it). Still, there is a page from which you can download Lenny .debs. Given that for Skype the choice is forced, I was tempted to simply reply to him with a couple of link to .debs and solve his problem rather easily.

But wait. Once he has the two debs, how can he install them? First attempt: "just click on them in Nautilus" (my hope: "synaptic will do the right thing™). No way, it will fire up file-roller. Second attempt: "install gdebi (using synaptic), right-click on the deb, and choose ;open with gdebi'". Seems to work, but no, you will be hit by bug #493352. (BTW, the reason why you need the right click is bug #421096).

What makes me upset is that both bugs were there way before the Lenny release and slipped through our QA knots. Nobody's fault, the maintainer apparently lost interest (or time) package and stopped caring about it. Happens all the time. But damn!, we will lose a user the moment I tell him "you know, you need to open up a root terminal". A few remarks: this rant is not about "we should invite user to use non-free software"; it is not even about "we should be more attractive to newbies"; it is just about the pity of losing users like this, dumbly.

Concluding:

  1. dear lazyweb, any idea of what can I suggest to my friend to install the debs I'll point him to, without needing the knowledge of a terminal?

  2. gdebi in Ubuntu is ahead of lots of version wrt Debian, I'm convinced that it fixes most outstanding issues (given that upstream author is a Canonical employee). If you have some free Debian-time slots (I currently don't) and you care about newbie-accessibility, please consider helping out with gdebi. He needs you.

EOR (end of rant)

Update 07/10/2009: gdebi is now fixed in unstable \o/ , thanks to Michael Vogt and Luca Falavigna for bringing back into sync Debian with upstream/ubuntu.

Read available comments below or add your own.
I would suggest your friend to use Debian unstable with KDE4. His user experience would change a lot to better, in my opinion... Gnome is not user friendly in my opinion. And Debian unstable is considerably much more stable than any Ubuntu, from my experience. I would still go ahead and say that since I jumped from Testing to Unstable my system is much more stable! :)
Comment by Rodrigo Rosenfeld Rosas dom 20 set 2009 19:30:39 UTC

Assuming that your friend would not like to switch his full desktop to KDE (which I would clearly recommend, but its not the question...), he might want to try "KPackage"...

(By the way, it seems that your "comment system" is somehow broken with multi-bytes characters, I got a "Error: HTTP::Message content must be bytes at /usr/share/perl5/RPC/XML/Client.pm line 308")

Comment by OdyX dom 20 set 2009 19:50:26 UTC

Are you saying that in unstable + KDE there is a way to install an unofficial .deb by just clicking on it or not?

I doubt that I will suggest him to switch to unstable (he will then need to upgrade very frequently and possibly deal with the consequences), but it would be encouraging to know that at least KDE side there is an user friendly way to install unofficial debs.

Comment by zack dom 20 set 2009 20:15:04 UTC

thanks for the tip!

still, I think it will look rather ridiculous to say "you know, to install skype and flash, you need to change your desktop" :-)

maybe I can try to make him use kpackage within GNOME, I'll give that a stab

Comment by zack dom 20 set 2009 20:19:24 UTC

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=514125

There is a 0.4.0 package uploaded to http://mentors.debian.net/debian/pool/main/g/gdebi but upstream is already at 0.5.8... If the maintainers or anyone else is not even willing to review and upload the mentors packages, "helping out with debi" does not seem to be fun.

Comment by Tormod dom 20 set 2009 21:05:34 UTC

It is not my reading of that bug log.

Michael said that he is willing to sponsor and review (which believes me, takes quite some time) upload into Debian, but reasonably it is not willing to do that for a version that is surely newer than what is presently in Debian, but still older (by a major release!) than latest upstream. So, yes, it is not funny to not have sponsored packages, but it will be more funny to everybody if you can package latest upstream. I'm sure that then Michael will be happy to sponsor. If that will turn out not to be the case ping me, I'll be happy to review and sponsor myself.

Comment by zack dom 20 set 2009 21:30:47 UTC

This isn't Windows. The system is not hiding its inner workings, and there's no reason to be afraid of them.

For Linux newbies, I'd usually recommend Ubuntu for its additional hand-holding.

That said, this doesn't mean that opening .debs with synaptics when it's installed wouldn't make sense.

Comment by Anonymous dom 20 set 2009 21:57:40 UTC
Or at least it did some months ago, never tried again.
Comment by Marco Amadori dom 20 set 2009 22:08:01 UTC
tell him to install ubuntu, and then, after getting the feel of GNULinux, it will be clearer for her/him!. Sincerly yours, Reine (and the dog: Poutou). Debian, Ubuntu, Debs RULEZ
Comment by Anonymous dom 20 set 2009 23:36:22 UTC

I totally agree with Anonymous, why not pass your friend two or three commands to copy and paste to terminal?

i think sudo su and dpkg -i skype....deb would do the work for skype.

Or add debian-multimedia.org repository to /etc/apt/sources.list. AFAIR it includes debian package with skype and flash plugin for firefox/iceweasel.

Well, is this so scary?

regards

Comment by szalat lun 21 set 2009 03:22:20 UTC

Various people have been suggesting to tell my friend to install Ubuntu. Sure, I can do that, and he will probably switch nevertheless. But I hope we all realize how a failure this is. The problem at hand is not a substantial issue of being helpful/unhelpful towards newbies, that might justify suggesting a distro other than Debian. The problem at hand was a simple RC bug, not marked as such, which we let slip into our stable release. That does not justify pointing elsewhere a user, that justify make all needed steps so that this does not happen in the future ever again.

Regarding the terminal. Sure, I can give him some commands to copy and paste in a terminal. In fact, I'm gonna do that, because there is nothing else to do. But surely I hope you realize that that will be a failure to. Because the guy has probably come to Linux thinking it was as easy as others and he couldn't care less about the terminal. In fact it would have been as easy if not for that damned bug.

Also, please note that it is not as easy as giving two "dpkg -i" lines, because the two packages might have not working dependencies, so later on you will need a run of "apt-get -f", which will pose questions and not always does, by default, the right thing.

Comment by zack lun 21 set 2009 06:52:58 UTC
I suggest synaptic: it is a easy package manager (not only for gnome) and allows to add new repositories to /etc/apt/sources.list with Settings->Repositries.
Comment by Anonymous lun 21 set 2009 07:55:51 UTC
Synaptic, unfortunately, it is not the solution. The reason is that while you can add local repositories, I don't have one. Or better, I should then tell the involved newbie how to create a local repository containing the packages he just downloaded.
Comment by zack lun 21 set 2009 08:42:30 UTC
slipped through our QA knots should say were downgraded when they should not have.
Comment by Anonymous lun 21 set 2009 09:07:46 UTC

There was a third option for your user: they could have downloaded the flash .tar.gz and followed the instructions within, rather than download the .deb and try to install that. Not any more friendly that what had to be done in the end (having to use the terminal), though.

Did nobody actually read your rant? Why derail with this nonsense about KDE and synaptic etc.? Yes it is a shame that gdebi is not actively maintained (this is why I changed game-data-packager to use dpkg instead for lenny in http://svn.debian.org/viewsvn/pkg-games/packages/trunk/game-data-packager/lib/game-data-packager-shared?r1=7771&r2=7779&pathrev=7784).

On that note, I think the approach used by flashplugin-nonfree to install the flash plugin is flawed. If we had a package which would create and install a .deb locally when provided with the downloaded .tar.gz, a .deb which had the correct files listing and installed-size etc. and didn't need network access and to perform other weirdness as root in postinst, then we could join up friendly one-click desktop handlers to that.

Comment by Jon lun 21 set 2009 10:19:37 UTC
Thanks for the post! If someone steps up with helping with gebi in debian, I will be happy to help with guidance/review/sponsoring (whatever is needed). The diff in gdebi between debian and ubuntu should ideally just vanish and it would become a sync for Ubuntu
Comment by Michael Vogt lun 21 set 2009 10:53:10 UTC

Micheal, I've contacted you on IRC, you're probably away ATM :D I'll do some bug triaging and prepare a new upload of gdebi tonight, including the new upstream version, and then I will send you a mail with a request for sponsoring.

Rather than a simple sync from the ubuntu repo it would make more sense to have a git repo in collab-maint which is syncing the upstream from ubuntu and have a slightly different Debian branches if changes are required. Anyway we will discuss this in a mail this night :D

FYI: as a Debian user (and trying to introduce some of my friends to Debian) I keep experiencing the same problems as zack, that is really a big pain.

Comment by Antonio Radici lun 21 set 2009 11:49:18 UTC
Yes, a bug unappropriately downgraded is surely a failure of who downgraded it, but that's not the full story. It is also a failure of our QA not notifying that (or, probably better, a failure of our pre-release testing which does not test things for newbies). I agree that the problem is tough though.
Comment by zack lun 21 set 2009 23:13:15 UTC

Hey Michael, thanks you for commenting back.

The good news is that I've been approached by some people which is now looking at gdebi in Debian to put it back in sync with Ubuntu. I hope to be able to announce soon that the issues are solved.

Stay tuned!

Comment by zack lun 21 set 2009 23:14:49 UTC

Personally, I've had very bad experiences with letting my browser install plugins under ~/.mozilla/ (actually, with me overlooking that).

After some "ordinary" Debian upgrade I started observing unexpected crashes while using plugins, and it took me a while to understand that the browser was using the locally installed version in place of the system-wide one.

Regarding the flashplugin-nonfree-approach, I'm not sure I follow you. Given that you should anyhow download the .tar.gz somehow, what would you gain in packing it up as a .deb before installing it? In particular, what would you gain in term of clickodrome installation?

Comment by zack lun 21 set 2009 23:19:58 UTC

I don't feel like you should recommend "gdebi" to a new user. Actually, Nautilus should open ".deb" file either with synaptic if install or dpkg in an x-terminal-emulator. Anyway, synaptic is the second choice if you right-click and then choose "Open with ...". This "Open with ..." option is familiar to windows & MacOS users.

Comment by Jérôme mar 22 set 2009 15:39:08 UTC

Jerome, I think you don't know exactly what gdebi does.

Synaptic, at least here on my machine (unstable updated frequently), is not capable of installing non official .debs downloaded by other means than the underlying APT.
Also, it does not register itself as a mime type handled for .deb packages (as you can see below), so I don't understand how you can have it marked in the "open with ..." menu (unless you added it by yourself).

    zack@usha:/tmp$ dpkg -L gdebi|grep mime
    /usr/share/mime
    /usr/share/mime/packages
    /usr/share/mime/packages/gdebi.xml
    zack@usha:/tmp$ dpkg -L synaptic|grep mime

In case you added it by yourself, well, first of all is not a solution ready out of the box. Secondly I believe that it still doesn't work, because passing a .deb cmdline argument to synaptic is a no op here.

Finally, regarding spawning a dpkg in an x-term. While it suffers for the same problem of not being a ready to go solution, it would lack needed features which are (supposedly, in recent versions) already in gdebi. Consider for instance the case where the unofficial .deb you want to install have uninstalled dependencies. dpkg alone will not be capable of installing the .deb (actually of configuring the .deb, but that's a detail), nor it will be capable of fixing dependencies because dpkg does not know how to fetch .debs.

Comment by zack mar 22 set 2009 21:51:29 UTC

It just requires a very simple patch, grabbed from the Ubuntu version, added to the /debian/patches in the Debian source code, and then a rebuild of gksu that incorporates the patch.

Here's the thread that includes a couple of Lenny compatible gksu debs as attachments.

http://mepislovers.org/forums/showthread.php?t=19274

Comment by Steve Pusser sab 17 ott 2009 02:34:56 UTC
have a look at my PS update at the end of the post: since a couple of week, gdebi is now fixed in Debian
Comment by zack sab 17 ott 2009 08:52:22 UTC