UnifiedInstaller

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad Entry: foo

  • Packages affected:

Summary

Creating a GUI fronted installer that installs Deb / rpm / tarball files without asking complicated questions so its just as easy for a Ubuntu / Linux newbie to install a Deb as it is to install something from source

Release Note

GUI program to install deb, rpm and sources

Rationale

Use Cases

For new users to linux / Ubuntu I always hear the argument how doe I install a program. The usual answer is add / remove in the ubuntu menu. nothing wrong so far.

But then "What if it isn't there ?" The user download a program somewhere and then you can have 3 cases

Deb file: The user downloaded a deb file, he can install this just by right click install.

Conclusion: ok for a new user, known routine he mioght think deb files are the .exe files to install something in Ubuntu

Rpm file: User can instlal this one, he has to search the net to find an answer, then after a good search he sees he needs to use alien and then install the program. Then he doesn't know where to get it since its not in the add / remove menu. Then after another search he reads do "sudo apt-get install alien". So the user gets like hmmz i need to use this box wich looks like dos in the old time to install something? Then after the user figured out how alien works it starts complaining about a parameter and somthing with script. after this is handeled the user has a deb file and finally can install his program.

Conclusion: user finds it hard, he had to spend a good 4 hours searching the internet on how to do it, he had to use a "thing that looks like DOS" and afterwars thinks hmm that was hard, all i wanted to do is install that program.

Source files: The user downloaded a tar.gz. He tries right click hmm no install option here.Now he searches for a program like alien but then to install a tar.gz. he doesn't even understand the answers google gives him cause they all talk about compiling. Now the user goes to look for a compiler cause that tool could maybe install the program for him. After searching for a compiler he goes really mad what there are like 1023 kind of compilers and something with a language for what? I just wasnt to install the darn thing. If by now the user hasn't formatted his computer to put back windows on he finally figues out what compiling means and that he needs to make his proigram. The user tries make he gets back 100+ lines with errors and missing library's? Now if hes able to figure this out (wich your grandma and all my relatives can't) He can finally make the program. He still has no clue of uninstalling but he finally has his program running.

Conclusion: The user is likely to give up before it work cause its way too hard. If he finisches it he still thinks windows or mac is way simpeler cause this was ridicilous, all he wanted was to install a program.

cli usage

So with the gui all ppl can easyly isntall their software. There also will be a commandline option to install diffrent files:

Usage: unifiedinstaller [filename] [packagename (in case of a tarball)]

Deb Example: unifiedinstaller packman.deb

Rpm Example: unifiedinstaller packman.rpm

Tar Example: unifiedinstaller packmanSrc.tar packman

gui usage

no gui implemented yet

Assumptions

User isnt very knowlegable about linux.

Design

You can have subsections that better describe specific parts of the issue.

Implementation

Now on to the general idea of the technical implementation: If the user installs a xxx file then

Deb: Just installs the deb for the user (gedbi)

* gedbi

Rpm: converts the deb (alien) and then installs its

* alien with -i flag

tar: look for a Makefile compiles the source for the user (make) create a deb form makefile (checkinstall) installs the deb for the user (gdebi)

* make

* checkinstall make install

* gdebi

Test/Demo Plan

Outstanding Issues

-GUI is not made yet

(Solved) -no way yet to look for the filename generated .deb file (tar -> deb -> install) Solved in a fasion where the deb or rpm is the only one in its directory so using a wildcard (*.deb) is enough

-No way yet to intergrate the cli program (Described above) with gnome's "Open With" functionality

(Solved)-need a method to figure out the name of the package the deb or rpm installs. By extracting headers and reading config file from a .deb It can now determine the package name

BoF agenda and discussion

Notes

The project will rely less on a GUI then I thought before, if the cli program works I'ts only necicary to incorporate it with Gnome's "Open With" functionality, and to add a gui part that lets you open a file to install.

More GUi's aren't neciscarry to make it more accesible to non-technical (new) Ubuntu / linux users (im my opinion)


CategorySpec

Spec/UnifiedInstaller (last edited 2008-08-06 16:13:32 by localhost)