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 Debian bug #493352. (BTW, the reason why you need the right click is Debian 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.

Suggestion
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 Sun 20 Sep 2009 09:30:39 PM CEST
Maybe not the whole KDE stack... :-)

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 Sun 20 Sep 2009 09:50:26 PM CEST
re: suggestion

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 Sun 20 Sep 2009 10:15:04 PM CEST
re: Maybe not the whole KDE stack... :-)

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 Sun 20 Sep 2009 10:19:24 PM CEST
comment 5

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 Sun 20 Sep 2009 11:05:34 PM CEST
re: comment 5 (by Tormod)

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 Sun 20 Sep 2009 11:30:47 PM CEST
Why not introduce him to the terminal?

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 Sun 20 Sep 2009 11:57:40 PM CEST
Youtube works with libswfdec-0.8-0
Or at least it did some months ago, never tried again.
Comment by Marco Amadori Mon 21 Sep 2009 12:08:01 AM CEST
comment 10
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 Mon 21 Sep 2009 01:36:22 AM CEST
Console? why not?

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 Mon 21 Sep 2009 05:22:20 AM CEST
re: on the terminal and Ubuntu

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 Mon 21 Sep 2009 08:52:58 AM CEST
synaptic is perhaps the solution
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 Mon 21 Sep 2009 09:55:51 AM CEST
re: synaptic
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 Mon 21 Sep 2009 10:42:30 AM CEST
comment 14
slipped through our QA knots should say were downgraded when they should not have.
Comment by Anonymous Mon 21 Sep 2009 11:07:46 AM CEST
comment 16

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 Mon 21 Sep 2009 12:19:37 PM CEST
Help welcome
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 Mon 21 Sep 2009 12:53:10 PM CEST
upload of the latest version

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 Mon 21 Sep 2009 01:49:18 PM CEST
re: comment 14 (by anonymous)
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 Tue 22 Sep 2009 01:13:15 AM CEST
re: Help welcome

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 Tue 22 Sep 2009 01:14:49 AM CEST
re: comment 16 (by Jon)

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 Tue 22 Sep 2009 01:19:58 AM CEST
Fix Nautilus defaults handlers or use "open with"

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 Tue 22 Sep 2009 05:39:08 PM CEST
re: Fix Nautilus defaults handlers or use "open with"

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 Tue 22 Sep 2009 11:51:29 PM CEST
actually a pretty simple fix to gksu to get gdebi to work in Lenny

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 Sat 17 Oct 2009 04:34:56 AM CEST
@Steve Pusser - fixed in Debian too
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 Sat 17 Oct 2009 10:52:22 AM CEST