← Back to team overview

dubuntu-team team mailing list archive

Re: cli frontend

 

Awesome but i take it your talking about the CLI frontend?

> From: jay.27182818@xxxxxxxxx
> To: dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Date: Sun, 5 Jul 2009 05:34:22 +0300
> Subject: [Dubuntu-team] cli frontend
> 
> hi guys.
> 
> it will take me a day or two to bring the front end to some good shape
> so that we could start working on it in bzr.
> 
> now i'd like to show you some basic commands that the front end will
> support. i call it dpm. and here's a console dump:
> 
> $ dpm help
> dpm should be invoked using this format:
> 
> dpm <command> [<arguments>]
> 
> where <command> is one of the following:
> 
> help - view short description of dpm usage,
> open - open a package category,
> close - close a previously open package category,
> list - output a list of items inside a package category,
> create - add a category or package to local database,
> destroy - remove a category or package from local database,
> read - show description of a category or package,
> write - update description of a category or package,
> install - install a category or package,
> remove - remove a category or package.
> 
> you can type 'gpm help <command>' to view description of a specific
> command.
> $
> 
> and here's an explanation. first of all a (local/central) database will
> contain a treelike hierarchy of packages and package categories - much
> like a filesystem. currently dpm supports absolute paths
> (e.g. /category/package) and a subset of relative paths -
> e.g. ./category/package but not ../category/../../package.
> 
> system administrators will be free to do everything they want with local
> databases. dpm will provide a way to share some part or entire
> configuration over internet and to synchronize with our central database
> or other databases. the central database will be hosted on our website
> and clients will connect to it using a webservice. for now we will
> concentrate on synchronization and later we will talk about sharing. i
> mean if i'm an opengl guy and i know what is needed to develop opengl
> apps in c++ i could create a category '/programming/opengl/c++' in my
> local database, populate it with relevant items and share it with the
> entire community.
> 
> now back to the commands.
> 
> 'open' works much like 'cd'. it updates DPM_CURRENT_LOCATION environment
> variable which is used as a prefix for relative paths.
> 
> 'close' unsets DPM_CURRENT_LOCATION. when it's not set current location
> is '/' and relative paths are resolved relative to the root.
> 
> 'create' works this way:
> $ dpm create <name> [title=]<title> [info=]<info> ...
> 
> if <name> ends with a forward slash then it's treated as a category name
> - otherwise as a package name. i'll provide more info about available
> fields as soon as it's possible.
> 
> i think that 'destroy' doesn't need an explanation. it just deletes
> approp. record from the database.
> 
> 'read' either reads all the fields for a given <name> or if supplied by
> a list of field names fetches and displays only those. 'write' allows
> you to update either entire record or certain fields only.
> 
> 'dpm write <name> name=<new_name>' can be used to rename a package or
> category.
> 
> install/remove are quite self-explanatory.
> 
> a real-world example:
> 
> $ dpm open /programming/languages/c/compilers
> $ dpm list
> cc
> gcc
> $ dpm create mycc title="My C Compiler" info="blah blah blah"
> version=...
> $ dpm list
> cc
> gcc
> mycc
> $ dpm install mycc
> ...
> 
> current progress:
> 
> help, open, close - done.
> list - almost done.
> create, destroy, read, write - half done.
> install, remove - i will make some additional research before
> implementing them.
> 
> about downloading:
> currently all debian utilities don't provide any way to
> stop/resume/control downloading so if you're downloading your favorite
> movie but suddenly you decide to update your system you can be sure the
> the first download will either break or its speed will drop down to
> almost zero. all our front ends must provide a way to stop/pause
> downloading.
> 
> how installation works: dpm reads approp. database record, extracts
> debian repo url, downloads a package and passes it to dpkg. pretty
> simple. maybe i will use apt in some way to handle repository catalogs,
> certificates etc. this is currently what i'm trying to learn about.
> 
> conclusion:
> it's just a sketch and many things will be changed but we just need to
> start with something. so how do you like it?
> 
> regards,
> jay
> 
> 
> _______________________________________________
> 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

_________________________________________________________________
POP access for Hotmail is here! Click here to find out more
http://windowslive.ninemsn.com.au/article.aspx?id=802246

References