From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <2ae4819257562c8664d11069cd86d3d1@yourdomain.dom> To: 9fans@cse.psu.edu From: "Federico G. Benavento" Date: Thu, 3 Jan 2008 19:50:05 -0300 In-Reply-To: <8ccc8ba40801031443s5af391c3o7722cccf7030b111@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] contrib(1) (was: opera under linuxemu) Topicbox-Message-UUID: 268a23e6-ead3-11e9-9d60-3106f5b1d025 hola, > What about a > contrib/386 contrib/src > so that we could pull most/all of contribs just at a go? we (me and steve) have been playing and testing some tools to help with this: CONTRIB(1) CONTRIB(1) NAME create, install, pull, push, remove - trivial package management SYNOPSIS contrib/create [ -d dependency ] [ -r root ] [ -u user ] [ -x exclude ] name proto contrib/install [ -f ] [ -r root ] user/name contrib/list [ -v ] [ user | user/name ] contrib/pull [ -c file ] [ -s file ] name contrib/push name contrib/remove name DESCRIPTION Contrib is a simple package management system based on replica(1). It can be used to create, install, upgrade and remove software packages in the sources repository. To cre- ate a package and become its maintainer it is necessary to have an authenticated sources account and a contrib direc- tory /n/sources/contrib/$user. Contrib/create Create builds a new package name, and performs an ini- tial push to sources. The file structure is defined by proto. Dependencies can be specified with the -d name option. If the package is staged away from its final destination a root directory for the published package may be specified with -r root. If the user has a dif- ferent name for their sources account from their cur- rent user account then this may be specified with the -u user option. Use the -x option to exclude the exclude files from the synchronization. When create runs it puts the current window into hold mode and reads text describing the package. The first line of this text is printed by contrib/list and should be a short summary of the package's contents. Contrib/install Install the package name maintained by the user user to the local file system. The -f option forces the instal- lation to continue irrespective of missing dependent packages. Packages are normally installed at / however an alternative root directory may be specified with -r root. Contrib/list List the available packages and a one line description of each. The -v option produces a more verbose multi- line form. Contrib/pull Update the local package name from sources. Locally modified files cause a warning and are not overwritten unless the -c or -s options are used - as described in replica(1). Contrib/push Used by the package maintainer to update the package name on sources from the local system. Contrib/remove Print the commands necessary to remove the package name, this allows the commands to be edited before they are sent to the shell. The commands printed for files which have been modified with respect to the repository are commented out. EXAMPLE Install the abaco web browser. % contrib/install fgb/abaco FILES /usr/$user/lib/replica databases of packages cre- ated locally. /dist/replica/* databases of packages installed locally. /n/sources/contrib/rob/replica database of rob's packages. /n/sources/contrib/rob/root files representing in rob's packages. SOURCE /rc/bin/contrib SEE ALSO proto(2), replica(1), replica(8) BUGS Send bug reports to benavento@gmail.com --- it's working quite well, for instance I can do lotte% contrib/list fgb fgb/4th: 4tH 3.5b - Forth-like interpreter. fgb/abaco: Abaco: lame web browser for Plan 9, eternally a work in progress. fgb/breakout: Breakout - breakout/arkanoid clone. fgb/bz2: BZ2 library for APE fgb/contrib: Contrib - Trivial Package Management fgb/curses: PDCurses 3.0 library for APE. ... to install it you do: % 9fs sources; /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib Federico G. Benavento --- /bin/fortune: If you think before you speak the other guy gets his joke in first.