9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Federico G. Benavento" <benavento@gmail.com>
To: 9fans@cse.psu.edu
Subject: [9fans] contrib(1) (was: opera under linuxemu)
Date: Thu,  3 Jan 2008 19:50:05 -0300	[thread overview]
Message-ID: <2ae4819257562c8664d11069cd86d3d1@yourdomain.dom> (raw)
In-Reply-To: <8ccc8ba40801031443s5af391c3o7722cccf7030b111@mail.gmail.com>

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.


  reply	other threads:[~2008-01-03 22:50 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-03  0:55 [9fans] opera under linuxemu ron minnich
2008-01-03  2:54 ` Iruata Souza
2008-01-03  3:29 ` Federico G. Benavento
2008-01-03  3:39   ` John Floren
2008-01-03  3:58     ` Federico G. Benavento
2008-01-03  4:03       ` Uriel
2008-01-03  4:02     ` Uriel
2008-01-03  5:26       ` ron minnich
2008-01-03  7:45         ` Uriel
2008-01-03 22:12     ` cinap_lenrek
2008-01-03 22:24       ` John Floren
2008-01-03 22:43         ` Francisco J Ballesteros
2008-01-03 22:50           ` Federico G. Benavento [this message]
2008-01-03 23:09             ` [9fans] contrib(1) (was: opera under linuxemu) Pietro Gagliardi
2008-01-03 23:22               ` Federico G. Benavento
2008-01-03 23:39                 ` Pietro Gagliardi
2008-01-04  4:08             ` marina
2008-01-03 23:26               ` Federico G. Benavento
2008-01-04  4:28                 ` marina
2008-01-03 23:08         ` [9fans] opera under linuxemu cinap_lenrek
2008-01-03  8:37   ` Martin Neubauer
2008-01-03 10:54     ` Lluís Batlle
2008-01-03 10:55       ` Lluís Batlle
2008-01-03 21:07     ` csant
2009-02-27  2:54 [9fans] contrib(1) (was: opera under linuxemu) erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2ae4819257562c8664d11069cd86d3d1@yourdomain.dom \
    --to=benavento@gmail.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).