dubuntu-team team mailing list archive
-
dubuntu-team team
-
Mailing list archive
-
Message #00080
Re: Functionality and design
Well i have an answer to number 2, im pretty sure that the rpm package system is available in the ubuntu repos, as for the source compile, we could have an option in say the preferences or as a checkbox somewhere to download the source only and to not automatically install it.
What do you think?
> From: charl.wentzel@xxxxxxxxxxxxxx
> To: jay.27182818@xxxxxxxxx
> Date: Mon, 6 Jul 2009 21:59:04 +0200
> CC: dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Dubuntu-team] Functionality and design
>
> Hi Jay
>
> Some more thoughts on the existing tools. Both you and Ryan have
> mentioned other operating systems / distros. If we're going to keep an
> open mind on this we'll need to consider the following:
>
> 1. Embedded server
> This would definitely be the way to go, since you would then not be
> dependent on the specific shared library versions installed with a
> specific distro, you simply compile everything you need into the API
> library.
>
> 2. .dep, .rpm, ....
> Apt would only be applicable to debian based distros. What if the
> distro uses rpms or even worse requires a source compile?
>
> To cater for this we'll need to use the CLI interface of whatever
> package installer is used by the distro. So instead of just specifying
> the package name in the database, we'll need to define the repositry/ftp
> site (if necessary) as well as the standard CLI API for installing
> packages.
>
> E.g. for ubuntu it would be: "apt-get install [package name]". For a
> basic distro you may need to first specify a small script that would do
> a ftp download, configure, make, make install, etc... I don't know how
> its done with rpms.
>
> You'll have to specify this in the etc/devbuntu files, as you'd have a
> separate knowledge base and installer definition for each distro.
>
> On your gui you would then do the same thing as Synaptic. Once you've
> made youre selection you run the installer in an embedded terminal
> window so you can see what's happening.
>
> Just a thought! If you want to keep an open mind, you should do it
> right from the start!
>
> Charl
>
> On Mon, 2009-07-06 at 19:55 +0300, Jay I. wrote:
> > hi.
> > 1. agree about languages.
> >
> > 2. see my posts in 'cli front end' thread. we will reuse as many
> > existing tools as possible.
> >
> > 3. mysql client won't be used to access our central database because its
> > just more secure to make it accessible only to serverside scripts and
> > not to the rest of the world. i'm currently developing cli client that
> > works with mysql server on localhost. it wont be hard to update it to
> > use embedded server afterwards.
> >
> > 4. i think all the 'questions' can be mapped to package categories. and
> > the package manager will just guide user through their hierarchy, asking
> > questions based on category names and description. user will start at
> > the root and step down to a leaf - this is equivalent to asking
> > question.
> >
> > what about xml definition - they can be generated from database records
> > automatically and it's a better choice to keep everything in a database
> > and extract data for exchange/sharing.
> >
> > 5. is our bzr repo prepared? i've already designed the backend api (the
> > most basic function) and i'd like to show you my code. i think we need
> > separate branches for the backend/fontends.
> >
> > 6. anyway we will must provide a cli based frontend - it'll be just a
> > shame not to;). as i already mentioned all the questions can be mapped
> > to package categories and it's technically possible to guide a user
> > through a tree like hierarchy.
> >
> > 7. agree on qtk+ and qt. i've described my vision of the back end of our
> > system in 'cli front end'.
> >
> > regards,
> > jay
> >
> > On Mon, 2009-07-06 at 10:38 +0200, Charl Wentzel wrote:
> > > Hi Guys
> > >
> > > I think it would be a good idea if we created a quick thread to through
> > > around a few ideas on the system design and functionality before I
> > > update the wiki.
> > >
> > > 1. Language
> > > Both Python and C++ were suggested for the development of the installer;
> > > Python for its spead of development, C++ since it is the core on which
> > > Linux was build and the language most people know. They are both great
> > > and I don't mind either. So I guess its up to you guys to decide.
> > >
> > > 2. Apt
> > > Since we'll be installing packages it makes sense using the tools that
> > > are already available. The best one for us would be apt (apt-get and
> > > related tools). Once you've worked your way through the questions and
> > > selected the options you want apt will do the actual installing of
> > > packages.
> > >
> > > And of course both Python and C++ have API's/libraries for apt, so
> > > building an app with apt integrated into it is also possible.
> > >
> > > 3. Database
> > > The knowledge base must be stored in a database. There were some
> > > discussions on the use of a database. MySQL was suggested. It also
> > > allows you to build the database directly into the application rather
> > > than using a db server or client.
> > >
> > > This will require carefull consideration. We might want to access both
> > > the database on the Devbuntu site and(/or) a local copy. The server
> > > installation will cover both, but will also require the database server
> > > to run on the local machine. Suggestions? Maybe MySQL client to access
> > > the web server and integrated client libraries to access the local copy?
> > >
> > > 4. Application Definition
> > > XML was suggested for storing the questions, categories, etc. which
> > > defines how the installer would work. This is a cool idea as this would
> > > allow each application for the installer (eg. development, multimedia,
> > > education, etc) to have its own operation/identity. In fact an upgrade
> > > for the installer might actually just be an update of the application
> > > definition and not the executables
> > >
> > > Of course MySQL could also be used to store this info, but if you want
> > > to store information about the database to use, it will have to be in a
> > > file. On the other hand, XML is much easier to manipulate by manually
> > > if you want to develop (or play with) the installer.
> > >
> > > 5. DevBuntu API
> > > Most of the above will have to be packaged in a library on which we can
> > > build the different interfaces... and of course to allow the creative
> > > comuity out there to create there own front-ends. This library/API will
> > > probably take a lot of effort to design.
> > >
> > > We'll need to consider all the operations/functions we wish to perform
> > > and allow for flexible commands to do it with. This might actaully be
> > > done parallel with designing a gui as the gui will give you a great idea
> > > of what you need.
> > >
> > > 6. CLI
> > > We've spoken about using the CLI to support legacy, but after thinking
> > > about it, it might not be so practical. How do you guide someone
> > > through questions and selections on the command line and still have
> > > something that is user-friendly. If you must ncurses seems to be the
> > > better route if you have to go text.
> > >
> > > 7. GUI
> > > The most obvious starting point would be GTK+ as this covers the "main
> > > stream" Ubuntu. A Qt version can also be done for the Kubuntu guys,
> > > etc... as long as they both use the same DevBuntu API.
> > >
> > > So this is the structure the way I see it:
> > >
> > > |------Possible Front-ends-------|
> > > NCurses GTK+ Qt .....
> > > \ | /
> > > \ | /
> > > DevBuntu API/Library
> > > / | \
> > > / | \
> > > KnowlegeBase Apt App Def File
> > > (MySQL) (apt-get) (XML)
> > > |-------Tools/dependencies--------|
> > >
> > >
> > > Does this work for you? Would love to hear your comments.
> > >
> > > Charl
> > >
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~dubuntu-team
> > > Post to : dubuntu-team@xxxxxxxxxxxxxxxxxxx
> > > Unsubscribe : https://launchpad.net/~dubuntu-team
> > > More help : https://help.launchpad.net/ListHelp
> >
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dubuntu-team
> Post to : dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dubuntu-team
> More help : https://help.launchpad.net/ListHelp
_________________________________________________________________
Get the latest news, goss and sport Make ninemsn your homepage!
http://windowslive.ninemsn.com.au/article.aspx?id=813730
References