head	1.69;
access;
symbols
	OPENPKG_CW_FP:1.48;
locks; strict;
comment	@# @;


1.69
date	2005.12.12.08.51.36;	author rse;	state Exp;
branches;
next	1.68;
commitid	SumBc7InyQpAVidr;

1.68
date	2005.12.05.07.08.00;	author rse;	state Exp;
branches;
next	1.67;
commitid	D3vCgULRObEZzocr;

1.67
date	2005.11.29.18.58.40;	author rse;	state Exp;
branches;
next	1.66;
commitid	f1RQKynfPrOKHGbr;

1.66
date	2005.11.21.07.15.58;	author rse;	state Exp;
branches;
next	1.65;
commitid	60kf75jVdlUC4Bar;

1.65
date	2005.11.14.07.20.02;	author rse;	state Exp;
branches;
next	1.64;
commitid	O9PJXyQHuDDYjH9r;

1.64
date	2005.11.07.07.16.09;	author rse;	state Exp;
branches;
next	1.63;
commitid	1xhd6nMTv6AAwN8r;

1.63
date	2005.10.31.07.42.00;	author rse;	state Exp;
branches;
next	1.62;
commitid	Ko27Z7qV2fIpTT7r;

1.62
date	2005.10.24.06.10.41;	author thl;	state Exp;
branches;
next	1.61;

1.61
date	2005.10.17.06.44.34;	author rse;	state Exp;
branches;
next	1.60;

1.60
date	2005.10.10.06.21.38;	author rse;	state Exp;
branches;
next	1.59;

1.59
date	2005.10.04.11.34.51;	author steve;	state Exp;
branches;
next	1.58;

1.58
date	2005.09.26.06.32.28;	author rse;	state Exp;
branches;
next	1.57;

1.57
date	2005.09.18.20.10.08;	author rse;	state Exp;
branches;
next	1.56;

1.56
date	2005.09.12.05.59.16;	author rse;	state Exp;
branches;
next	1.55;

1.55
date	2005.09.05.06.08.48;	author rse;	state Exp;
branches;
next	1.54;

1.54
date	2005.08.30.05.39.27;	author rse;	state Exp;
branches;
next	1.53;

1.53
date	2005.08.22.06.14.30;	author rse;	state Exp;
branches;
next	1.52;

1.52
date	2005.08.15.15.12.05;	author rse;	state Exp;
branches;
next	1.51;

1.51
date	2005.08.13.08.00.34;	author rse;	state Exp;
branches;
next	1.50;

1.50
date	2005.07.25.12.59.15;	author rse;	state Exp;
branches;
next	1.49;

1.49
date	2005.07.25.12.38.12;	author rse;	state Exp;
branches;
next	1.48;

1.48
date	2004.03.02.09.00.03;	author thl;	state Exp;
branches;
next	1.47;

1.47
date	2003.04.29.14.02.04;	author thl;	state Exp;
branches;
next	1.46;

1.46
date	2003.04.29.13.07.49;	author thl;	state Exp;
branches;
next	1.45;

1.45
date	2003.04.22.07.19.16;	author thl;	state Exp;
branches;
next	1.44;

1.44
date	2003.04.22.06.55.30;	author thl;	state Exp;
branches;
next	1.43;

1.43
date	2003.04.22.06.18.02;	author thl;	state Exp;
branches;
next	1.42;

1.42
date	2003.04.17.09.27.03;	author thl;	state Exp;
branches;
next	1.41;

1.41
date	2003.04.17.08.32.11;	author thl;	state Exp;
branches;
next	1.40;

1.40
date	2003.04.15.08.55.23;	author thl;	state Exp;
branches;
next	1.39;

1.39
date	2003.04.14.09.59.04;	author thl;	state Exp;
branches;
next	1.38;

1.38
date	2003.04.08.09.21.46;	author ms;	state Exp;
branches;
next	1.37;

1.37
date	2003.04.01.15.16.23;	author thl;	state Exp;
branches;
next	1.36;

1.36
date	2003.04.01.08.40.48;	author thl;	state Exp;
branches;
next	1.35;

1.35
date	2003.03.19.21.56.24;	author thl;	state Exp;
branches;
next	1.34;

1.34
date	2003.03.12.15.12.24;	author thl;	state Exp;
branches;
next	1.33;

1.33
date	2003.03.03.10.16.47;	author thl;	state Exp;
branches;
next	1.32;

1.32
date	2003.02.19.11.25.26;	author thl;	state Exp;
branches;
next	1.31;

1.31
date	2002.08.23.08.13.50;	author rse;	state Exp;
branches;
next	1.30;

1.30
date	2002.07.28.18.42.36;	author rse;	state Exp;
branches;
next	1.29;

1.29
date	2002.07.22.05.08.16;	author rse;	state Exp;
branches;
next	1.28;

1.28
date	2002.07.08.12.28.13;	author ps;	state Exp;
branches;
next	1.27;

1.27
date	2002.07.08.10.01.13;	author thl;	state Exp;
branches;
next	1.26;

1.26
date	2002.07.08.09.51.42;	author rse;	state Exp;
branches;
next	1.25;

1.25
date	2002.06.23.18.57.13;	author rse;	state Exp;
branches;
next	1.24;

1.24
date	2002.06.19.11.53.13;	author thl;	state Exp;
branches;
next	1.23;

1.23
date	2002.06.17.07.55.06;	author thl;	state Exp;
branches;
next	1.22;

1.22
date	2002.06.14.10.53.56;	author rse;	state Exp;
branches;
next	1.21;

1.21
date	2002.06.04.07.26.52;	author openpkg-cvs;	state Exp;
branches;
next	1.20;

1.20
date	2002.06.03.20.53.10;	author openpkg-cvs;	state Exp;
branches;
next	1.19;

1.19
date	2002.06.03.14.26.16;	author openpkg-cvs;	state Exp;
branches;
next	1.18;

1.18
date	2002.05.27.06.54.25;	author rse;	state Exp;
branches;
next	1.17;

1.17
date	2002.05.19.09.25.21;	author rse;	state Exp;
branches;
next	1.16;

1.16
date	2002.05.13.10.16.09;	author rse;	state Exp;
branches;
next	1.15;

1.15
date	2002.05.08.10.13.51;	author thl;	state Exp;
branches;
next	1.14;

1.14
date	2002.05.05.18.45.31;	author rse;	state Exp;
branches;
next	1.13;

1.13
date	2002.04.21.19.32.24;	author rse;	state Exp;
branches;
next	1.12;

1.12
date	2002.04.11.14.43.57;	author thl;	state Exp;
branches;
next	1.11;

1.11
date	2002.04.11.12.44.09;	author thl;	state Exp;
branches;
next	1.10;

1.10
date	2002.04.11.09.39.37;	author thl;	state Exp;
branches;
next	1.9;

1.9
date	2002.04.11.09.31.14;	author thl;	state Exp;
branches;
next	1.8;

1.8
date	2002.04.11.09.06.47;	author thl;	state Exp;
branches;
next	1.7;

1.7
date	2002.04.11.07.17.43;	author thl;	state Exp;
branches;
next	1.6;

1.6
date	2002.04.10.10.09.40;	author thl;	state Exp;
branches;
next	1.5;

1.5
date	2002.04.09.11.03.56;	author thl;	state Exp;
branches;
next	1.4;

1.4
date	2002.04.04.13.37.02;	author rse;	state Exp;
branches;
next	1.3;

1.3
date	2002.04.04.13.11.35;	author rse;	state Exp;
branches;
next	1.2;

1.2
date	2002.04.04.13.06.29;	author rse;	state Exp;
branches;
next	1.1;

1.1
date	2002.04.04.12.30.12;	author rse;	state Exp;
branches;
next	;


desc
@@


1.69
log
@hmmmm
@
text
@
  OpenPKG Package Master/Servant On Duty (PMOD/PSOD)
  ==================================================

  Current Assignments
  ===================

  Ralf S. Engelschall <rse>    (Director  R&D)
  Thomas Lotterer     <thl>    (Assistant R&D)
  Steve Weinreich     <steve>  (Assistant R&D)
  Matthias Kurz       <mk>     (Assistant R&D)

  Week  Start Date  PMOD 
  ----- ----------- -----
  CW-50 2005-12-12  rse
  CW-51 2005-12-19  thl
  CW-52 2005-12-26  steve

  Description
  ===========

  Every week there are two dedicated jobs assigned to people of the
  OpenPKG team: the Package Master On Duty (PMOD) and the Package
  Servant On Duty (PSOD). The PMOD is the primarily responsible person,
  the PSOD is his assistant on demand or automatically becomes the PMOD
  if the PMOD is not available. The people are assigned in advance.
  If they cannot perform their responsibility, they are liable for
  reassigning their task to someone other.
  
  The daily task of the PMOD is to (in this order):

  1. monitor Bugtraq and related forums (see security.txt for URLs)
     and if we are affected in any way, immediately take action
     by collecting all relevant information and forwarding them
     in a reasonably filtered way to the Security Engineers under
     openpkg-security@@openpkg.org.

     Goal:   Take action on security issues as fast as possible.
     Reason: Security for our user community.

  2. monitor the community postings on
     openpkg-{users,dev,bugdb}@@openpkg.org, try to give a reasonable
     answer or at least let the community know that we are investigating
     and redirecting the issue to the PSOD or putting it onto the TODO
     list (openpkg-adm/todo.txt).

     Goal:   OpenPKG community gets responses as fast as possible.
     Reason: Feedback and warm feeling for our user community.

  3. process the bi-daily Version Tracking reports posted on
     openpkg-team by updating the outdated packages to new versions.
     New packages are built by the PMOD and copied to
     master.openpkg.org:/e/openpkg/ftp/current/SRC/. The
     openpkg-src/foo/foo.spec, openpkg-re/vcheck/vc.foo and
     openpkg-web/news.txt files are updated and comitted to CVS.
     If a package is outdated by a new version that is less than
     of release grade, the out-of-date package is considered
     superior and left alone. Exceptionally, alpha and beta-grade
     software is repackaged if the out of date version is alpha
     or beta-grade also.
     
     Goal:   Keep OpenPKG-CURRENT up-to-date with minimum delay.
     Reason: Reputation for being always up-to-date; RelEng in advance.

  4. If time permits, additionally investigate in removing issues from
     the TODO list (openpkg-adm/todo.txt) and our BugDB.

     Goal:   Reduce the pending work.
     Reason: Obviously more time for new things ;)

  Working with CVS branches
  =========================

  As shown on page http://www.openpkg.org/releng.html, the OpenPKG CVS
  Repository contains branch points along the trunk. With few exceptions,
  the following work process should be followed to keep the CVS Repository
  consistent.

  1.  Put changes to the trunk revision of a file first. For example, to
      work on the trunk revision of a spec file, run:

        $ cvs upd[ate] -r OPENPKG apache.spec
        $ vi apache.spec (make changes here)
        $ cvs com[mit] apache.spec

  1a. If the change is minor or unstable, then stop here. For example, the
      daily task of upgrading 'current' packages, or improving text
      descriptions belongs on the trunk and not elsewhere.

  2.  If the change fixes a vendor or packaging bug and is deemed stable,
      then the change should be applied to the 'stable' branch as well.
      Sources on this branch are tagged 'OPENPKG_1_STABLE', so use:

        $ cvs upd[ate] -r OPENPKG_1_STABLE apache.spec
        $ vi apache.spec (make changes here)
        $ cvs com[mit] apache.spec

  3.  If the change corresponds to a security advisory or other serious
      matter, then it should be applied to the 'solid' branches as well.
      It is from these branch points that the OpenPKG update packages are
      made, and placed in the FTP storage under 'UPD'.

        $ cvs upd[ate] -r OPENPKG_1_2_SOLID apache.spec
        $ vi apache.spec (make changes here)
        $ cvs com[mit] apache.spec

  Consider using CVS itself to merge your changes from one branch to another.
  If the same changes to the trunk should be applied to the 'stable' branch,
  then use 'cvs -j 1.22 -j 1.23 apache.spec' in place of 'vi apache.spec' in
  the above samples. Replace the version numbers and file name of course.

  To learn which CVS tags a file has, use 'cvs status -v apache.spec'. Also,
  the tool 'openpkg-dev' has branch logic that acts as an alternative to using
  the above 'cvs' commands directly. 'openpkg-dev branch OPENPKG_1_STABLE' can
  be useful when working on a group of files at once.

  About patching
  ==============

  After bumping up the vendor versions, a patch file often does no
  longer apply cleanly. Then one usually would like to just remove the
  patch, but...
     
  1. before a patch can be removed as a whole, one has to review the
  patch as a whole, i.e., all patch parts, and _IN DETAIL_ to make sure
  that really _ALL_ parts of the patch are obsolete. Often just _some_
  parts are obsolete, others would be still valid and required (at least
  on some platforms).
                
  In this case the patch has to be trimmed and adjusted, but kept
  partly. If the patch is just removed as a whole (simplifies the
  upgrade task, of course), we loose important patches. It is even not
  sufficient to just make sure that the package without the patch builds
  on a single platform. Either you have to check at least all three
  platforms or _really_ understand the patch in detail.
                                    
  2. after (1) you still decide to kick out the patch, do it completely.
  That is, remove the patch from the Patch: header, remove the %patch
  _AND_ remove it from CVS with "rm <patchfile>; cvs rm <patchfile>".
  Multiple times we had patches flying around in CVS which are no longer
  used in the current package specification.

  Issue with vcheck
  =================

  It is fine that the PMODs/PSODs upgrade the packages which the vendor
  version tracking report successfully identifies for upgrading.
  Nevertheless we have always multiple packages which were not tracked
  because of errors. If those packages occur in the report's error list
  multiple days in sequence, I really would like that the PMODs/PSODs
  also at least once per week review this. Sometimes it is just vcheck's
  failure, sometimes the URLs just have changed, etc. So, please treat
  it as an important part of the PMOD/PSOD task to get rid of this error
  list, too.

  Using the tool 'openpkg-dev'
  ============================

  There are two basic operations modes, "developer" and "contributor".
  
  A developer must have read and write access to the OpenPKG CVS
  repository and SSH scp write access to the OpenPKG HTTP and FTP
  server. He can directly release packages and update any information
  into the OpenPKG development environment.
  
  A contributor only uses read access to the OpenPKG CVS repository. He
  releases packages by releasing files to a write-only contribution area
  on the OpenPKG FTP Server.  He cannot update any other information,
  i.e. those on the HTTP Server.  A verification script runs quarterly
  and inspects the upload area.  It either drops the upload in case it
  looks like trash or picks it up and informs developers on the
  openpkg-dev@@openpkg.org mailing list that a new contribution is
  available for review. Anyone can join the developer mailing list, so
  contributors can use it to find out if their upload succeeded and
  passed basic "trash" checks.  Anyone can be a contributor.

    setup a OpenPKG development environment

- create personal work directory if not existent

    $ mkdir ~/work

- grab the openpkg-dev tool by either checking it out from the
  openpkg-re module or download the latest release from the web. Three
  methods shown here, pick your favourite.

    $ cvs -d openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs checkout openpkg-re ; cd openpkg-re
    $ curl http://cvs.openpkg.org/getfile?f=openpkg-re/openpkg-dev >openpkg-dev && chmod ug+x openpkg-dev
    $ lynx -source http://cvs.openpkg.org/getfile?f=openpkg-re/openpkg-dev >openpkg-dev && chmod ug+x openpkg-dev

- verify the "default configuration" settings in the head of the script.
  If they don't match your environment, copy'n'paste them to
  ${HOME}/.openpkg-dev.rc and change them to accommodate your needs.  Do
  not edit the script. It is part of the setup and update procedures to
  checkout the or update to the latest version of the script and point
  an alias to this latest version. The example assumes that /cw is your
  personal OpenPKG playground hierarchy

    $ vi openpkg-dev ${HOME}/.openpkg-dev.rc

    ##
    ##  ~/openpkg-dev.rc -- OpenPKG development tool configuration
    ##                      example for contributor
    ##
    OPENPKG_MODE=contributor
    OPENPKG_INST=/cw
    OPENPKG_WORK=${HOME}/work/contributor
    OPENPKG_TEMP=${HOME}/work/contributor/TMP
    OPENPKG_REPO=openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs
    OPENPKG_DIST=master.openpkg.org:/e/openpkg/ftp/current/SRC/

    ##
    ##  ~/openpkg-dev.rc -- OpenPKG development tool configuration
    ##                      example for developer
    ##
    OPENPKG_MODE=developer
    OPENPKG_INST= #empty is automatic
    OPENPKG_WORK=${HOME}/work/pmod-psod
    OPENPKG_TEMP=${HOME}/work/pmod-psod/TMP
    OPENPKG_REPO=:pserver:anonymous@@cvs.openpkg.org:/e/openpkg/cvs
    OPENPKG_DIST=ftp://ftp.openpkg.org/contrib/00UPLOAD/

- setup your openpkg-dev environment Four examples are listed below. The
  shortest example downloads all sources from the CURRENT branch. You
  can specify a package to avoid downloading all sources which is useful
  for slow links.  In case you don't know the package name, note the
  examples uses shtool which is useful, appeared in all branches and
  belongs to the smallest packages.  Also note that the re (release
  engineering) directory always contains all vc (vcheck) files.  These
  are many, but small, so don't be alarmed.  Also a branch can be given
  as a last parameter, the official format is HEAD, OPENPKG_x_STABLE,
  and OPENPKG_x_y_SOLID. Lot's of aliases and shortcuts are supported,
  i.e. CURRENT for HEAD, x for OPENPKG_x_STABLE and x.y for
  OPENPKG_x_y_SOLID. If you want to download all sources and specify a
  branch, use "" for the package name.  Be prepared to download
  approximately 25MB of data. Unless you kill the environment, this
  needs to be done only once.

    $ /tmp/openpkg-dev setup
    $ /tmp/openpkg-dev setup shtool
    $ /tmp/openpkg-dev setup shtool OPENPKG_1_STABLE
    $ /tmp/openpkg-dev setup "" OPENPKG_1_2_SOLID

- setup an alias for convenience reasons

    $ alias opd="$HOME/work/openpkg/re/openpkg-dev"

- enter a bash subshell executing the "bash" function to start the
  actual development. This subshell has enviroment variables set,
  functions defined and aliases created for "cd", "cvs",
  "openpkg-dev", "root" and "rpm". Korn shell users might get a
  preferred vi-style line editing by issuing a "set -o vi" in bash.

    $ ./openpkg-dev bash

  Alternatively append the name of the package, the branch to work on
  and instance to execute rpm from.

    $ ./openpkg-dev bash [<package> [<branch> [<execute>]]

  Providing all options is equal to

    $ ./openpkg-dev bash
    # internal variables exposed to user shell - enforcement, current
    openpkg-dev$ openpkg-dev package <package> # ${OPENPKG_SPEC},  $P
    openpkg-dev$ openpkg-dev branch <branch>   # ${OPENPKG_CTAG},  $B
    openpkg-dev$ openpkg-dev execute <execute> # ${OPENPKG_EXEC},  $E

  The prompt shows the current values of $P, $B, $E and additional
  information. A black value [1] indicates it was forced through "bash"
  "package", "branch" or "execute". Values which were not forced are set
  by automatic guessing. Even when values are forced, guessing takes
  place to detect odd situations. Differences between forced values and
  manual guessing are shown in red [2] However, forced settings take
  precedence. Executing the "package", "branch" or "execute" commands
  without parameter clears the enforment and reverts back to guessing.
  The variables listed above are exported can be used by the user in own
  scripts or directly on the command line. Guessing takes place with
  every "cd" command. If external changes have been made to the
  environment, a "cd ." will clear things.

  [1] xterm uses black, dumb terminals and xterm window title show a dot
      '.' after the value.
  
  [2] xterm uses red, dumb terminals and xterm window title show a
      exclamation mark '!' after the value.

- update the development environment any time by executing the "update"
  function.  It is useless immediately after setup but should be done
  often to keep the workspace current. Note that the openpkg-dev itself
  is located in the re directory that was just checked out. So it
  updates itself.  Update every time before starting development on a
  package update.

    openpkg-dev$ openpkg-dev update

- development of a new package and the update process is not yet
  automated, so no braindead copy'n'paste commands here ;-) However, a
  few useful commands are listed as an example for a typical package
  update.

    openpkg-dev$ openpkg-dev track
    openpkg-dev$ openpkg-dev vim
    openpkg-dev$ openpkg-dev fetch
    openpkg-dev$ openpkg-dev build
    openpkg-dev$ openpkg-dev peek
    openpkg-dev$ openpkg-dev install
    
    # When switching between different OpenPKG releases, i.e. when creating updates,
    # make sure the dst cache does not contain invalid data from previous downloads!
    #
    #OPTION1 remove files for package provided by OpenPKG from dst cache using fetch -s
    #OPTION2 remove all files for package from dst cache using fetch -a
    #        this is required if vendor uses same filename for different releases

- list source and binary packages by executing the "list" function.  The
  package argument is optional and defaults to $P. Multiple packages
  might be specified.

    openpkg-dev$ openpkg-dev list
    openpkg-dev$ openpkg-dev list [[package] ...]

- diff before a release by executing the "diff" function. This is the
  same as adding the "-dry" option to the "release" function.

- release a package to the OpenPKG community by executing the "release"
  function. Members of the OpenPKG development team commit changes
  directly into the CVS repository and website while contributers upload
  news and changes to the contributor area.  The package argument is
  optional and defaults to $P.  Multiple packages might be specified.

  Adding the "-dry" option executes a dry run and does not alter
  anything.

  For packaging updates and new vendor releases, the commit message is
  usually generated automatically. If the automatic fails or a manual
  message should be given, use the "-m" option with an argument to
  specify a comment for the cvs commit. If a file with name of the
  argument exists, it's contents will be read to retrieve the actual
  message. Using '-' as the filename will omit the comment so the cvs
  command will open an editor.

    openpkg-dev$ openpkg-dev release -dry
    openpkg-dev$ openpkg-dev release [[package] ...] [-m "comment"] [-dry]

- kill the development environment by executing the "kill" function.
  This will discard the wholly directory structure and any unsaved data
  is lost. Since UNIX is a operating system for adults, no questions are asked.

    openpkg-dev$ openpkg-dev kill

@


1.68
log
@pmod switches today
@
text
@a14 1
  CW-49 2005-12-05  mk
@


1.67
log
@PMOD switches
@
text
@a14 1
  CW-48 2005-11-28  steve
@


1.66
log
@switch PMOD
@
text
@a14 1
  CW-47 2005-11-21  thl
@


1.65
log
@ah, it's me again
@
text
@a14 1
  CW-46 2005-11-14  rse
@


1.64
log
@switch PMOD
@
text
@a14 1
  CW-45 2005-11-07  mk
@


1.63
log
@PMOD changes today
@
text
@a14 1
  CW-44 2005-10-31  steve
@


1.62
log
@switch PMOD
@
text
@a14 1
  CW-43 2005-10-24  thl  
@


1.61
log
@mk seems to have forgotten his PMOD task last week :-(
@
text
@a14 1
  CW-42 2005-10-17  rse  
@


1.60
log
@switch PMOD
@
text
@a14 1
  CW-41 2005-10-10  mk   
@


1.59
log
@PMOD changes
@
text
@a14 1
  CW-40 2005-10-03  steve
@


1.58
log
@PMOD changes
@
text
@a14 1
  CW-39 2005-09-26  thl  
@


1.57
log
@Ahhh... it's me again next week
@
text
@a14 1
  CW-38 2005-09-19  rse  
@


1.56
log
@as usual, PMOD switches today
@
text
@a14 1
  CW-37 2005-09-12  mk   
@


1.55
log
@PMOD now switching today
@
text
@a14 1
  CW-36 2005-09-05  steve
@


1.54
log
@it's me this week, too. I'm replacing thl.
@
text
@a14 1
  CW-35 2005-08-29  rse (thl)
@


1.53
log
@remove old PMOD entry
@
text
@a14 1
  CW-34 2005-08-22  rse  
@


1.52
log
@pmod switched today
@
text
@a14 1
  CW-33 2005-08-15  mk   
@


1.51
log
@remove obsolete entries
@
text
@a14 1
  CW-32 2005-08-08  steve
@


1.50
log
@Thomas is on holiday in CW-35, so I'll take over there
@
text
@a14 2
  CW-30 2005-07-25  rse  
  CW-31 2005-08-01  thl  
@


1.49
log
@add an initial list for new PMOD schema
@
text
@d14 1
a14 1
  ----- ----------  -----
d20 1
a20 1
  CW-35 2005-08-29  thl  
@


1.48
log
@add info for ksh users; vcheck is called track now
@
text
@d5 34
@


1.47
log
@correct contributor urls for cvs and ftp
@
text
@d237 2
a238 1
  "openpkg-dev", "root" and "rpm".
d288 1
a288 1
    openpkg-dev$ openpkg-dev vcheck
@


1.46
log
@integrate contributor setup documentation from Christoph Schug and Manuel Hendel
@
text
@d206 2
a207 2
    OPENPKG_REPO=openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs
    OPENPKG_DIST=master.openpkg.org:/e/openpkg/ftp
@


1.45
log
@take out build() from install()
@
text
@d145 18
d165 4
d170 2
a171 1
  openpkg-re module or download the latest release from the web.
d173 3
a175 3
    checkout: $ cvs -d openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs checkout openpkg-re ; cd openpkg-re
    download: $ curl -o openpkg-dev
    "http://www.openpkg.org/cvsweb/cvsweb.cgi/~checkout~/openpkg-re/openpkg-dev?rev=HEAD&content-type=text/plain" ; chmod ug+x openpkg-dev
d182 2
a183 1
  an alias to this latest version.
d187 44
a230 6
- setup a development environment by executing the "setup" function. This
  will setup a workspace creating the necessary directory structure and
  checking out the openpkg-dev virtual module which is superset of the
  openpkg-[src|web|doc|re|adm]. Be prepared to download approximately
  25MB of data. Unless you kill the environment, this needs to be done
  only once.
d232 1
a232 1
    $ ./openpkg-dev setup
d274 5
a278 2
  function. This will update the workspace. This needs to be done often,
  usually every time before starting development on a package update.
@


1.44
log
@consolidate "rpm -ba" and "openpkg-dev install" into one step
@
text
@d225 2
a227 1
    openpkg-dev$ openpkg-dev peek
@


1.43
log
@document use of install()
@
text
@d225 1
a225 1
    openpkg-dev$ rpm -ba $P.spec
a226 1
    openpkg-dev$ openpkg-dev install
@


1.42
log
@fetch() support for optional dst cleanup
@
text
@d227 1
a227 1
    openpkg-dev$ root rpm -Uvh ${OPENPKG_WORK}/pkg/bin/$P-*-`date +%Y%m%d`.*.rpm
@


1.41
log
@introduce vim() command
@
text
@a223 2
    openpkg-dev$ for i in `echo *`; do f="${OPENPKG_WORK}/dst/$P/$i"; if [ -f $f ]; then rm $f; fi; done #OPTION1
    openpkg-dev$ rm ${OPENPKG_WORK}/dst/$P/*                                                             #OPTION2
d232 3
a234 2
    #OPTION1 removes files provided by OpenPKG from dst cache (i.e. patches, rc files, config)
    #OPTION2 removes all files from dst cache (required if vendor uses same filename for different releases)
@


1.40
log
@more consequent use of curly braces around shell variables
rpm() shell function now uses $E/bin/rpm
unify shell escaping in case/esac constructs
new() uses "cvs add" for developers only
lint() accepts option(s) everywhere
vcheck() supports editing, checking or both
run() new command to prep + execute arbitrary command
fetch() new command to fetch vendor sources
@
text
@d222 2
a223 1
    openpkg-dev$ vi $P.spec
a229 1
    openpkg-dev$ openpkg-dev vcheck
@


1.39
log
@add rse instructions about patching and vcheck issues
@
text
@d225 1
a225 1
    openpkg-dev$ rpm --fetch $P.spec
d229 1
a229 1
    openpkg-dev$ vi ${OPENPKG_WORK}/re/vcheck/vc.$P
@


1.38
log
@Finally write our branch policy.
@
text
@d103 39
@


1.37
log
@implement PBE logic into list(), peek(), diff() and release(); add branch support to release(); upload PMOD instructions
@
text
@d57 48
a104 2
  Work Instructions
  =================
@


1.36
log
@put recently created openpkg-dev peek command into instructions
@
text
@d142 1
a142 1
    openpkg-dev$ openpkg-dev peek $P
d152 3
a154 4
- list source and binary packages by executing the "list" function. The
  wildcard argument is optional and a asterix is added to it automatically.
  If the wildcard is omitted, $P will be taken and a more restrictive match
  to OpenPKG/RPM filename conventions will be used.
d157 1
a157 1
    openpkg-dev$ openpkg-dev list <wildcard>
d159 2
a160 5
- diff before a release by executing the "diff" function. This is a
  "dry" run of the "release" function without altering anything.

    openpkg-dev$ openpkg-dev diff <package>
    openpkg-dev$ openpkg-dev diff <package> "comment"
d165 2
a166 1
  news and changes to the contributor area.
d168 2
a169 1
    openpkg-dev$ openpkg-dev release <package>
d173 5
a177 3
  message should be given, use

    openpkg-dev$ openpkg-dev release <package> "comment"
d179 2
a180 3
  where "comment" is checked to be a file and if found, the contents of
  the file are used otherwise "comment" is treated as the comment
  itself.
@


1.35
log
@"list" using new $P$B$E semantics
@
text
@d142 1
a142 1
    openpkg-dev$ rpm -qplv ${OPENPKG_WORK}/pkg/bin/$P-*-`date +%Y%m%d`.*.rpm | more
@


1.34
log
@getting air after a deep dive
@
text
@d153 3
a155 1
  argument is optional and a asterix is added to it automatically.
d157 2
a158 1
    openpkg-dev$ openpkg-dev list $P
@


1.33
log
@correct INITIAL_CWD behaviour when package is given and depending on src existence
@
text
@d94 2
a95 3
  Alternatively append the name of the package. This immediately sets
  the current working to ${OPENPKG_WORK}/src/<package> and also sets the
  $P environment variable for later reference.
d97 28
a124 1
    $ ./openpkg-dev bash <package>
a136 2
    openpkg-dev$ cd                      #leads to ${OPENPKG_WORK}
    openpkd-dev$ cd src/$P
@


1.32
log
@defeat "bind-SA" problem for the future
@
text
@d115 1
a115 1
    openpkg-dev$ rm ${OPENPKG_WORK}/dst/$P/                                                              #OPTION2
@


1.31
log
@pmod/psod now tracked in Intranet
@
text
@d114 3
a116 1
    openpkg-dev$ rpm --fetch $P.spec    #FIXME consider editing .rpmmacros
d122 6
@


1.30
log
@update
@
text
@a56 41
  Person List
  ===========

  Id   Name                        OpenPKG Email      Private Email
  ---- --------------------------- ------------------ ------------------------
  rse  Ralf S. Engelschall         <rse@@openpkg.org>  <rse@@engelschall.com>
  thl  Thomas Lotterer             <thl@@openpkg.org>  <thomas@@lotterer.net>
  ms   Michael Schloh v. Bennewitz <ms@@openpkg.org>   <michael@@schloh.com>
  ps   Peter Smej                  <ps@@openpkg.org>   <peter@@smej.org>
  cs   Christoph Schug             <cs@@openpkg.org>   <chris@@schug.net>
  jmab Julien Mabillard            <jmab@@openpkg.org> <jmab@@gve.ch>

  Assignment List
  ===============

  Week starting at PMOD PSOD
  ---------------- ---- ----
  2002 07 29 (W31) ps   rse
  2002 08 05 (W32) ms   thl
  2002 08 12 (W33) thl  cs
  2002 08 19 (W34) rse  thl
  2002 08 26 (W35) thl  ms
  2002 09 02 (W36) ms   rse
  2002 09 09 (W37) ps   cs
  2002 09 16 (W38) rse  ms
  2002 09 23 (W39) thl  rse
  2002 09 30 (W40) rse  thl
  2002 10 07 (W41) ps   cs
  2002 10 14 (W42) rse  ms
  2002 10 21 (W43) thl  rse
  2002 10 28 (W44) ms   thl
  2002 11 04 (W45) ps   cs
  2002 11 11 (W46) rse  ms
  2002 11 18 (W47) thl  rse
  2002 11 25 (W48) ms   thl
  2002 12 02 (W49) ps   cs
  2002 12 09 (W50) rse  ms
  2002 12 16 (W51) thl  rse
  2002 12 23 (W52) ms   thl
  2002 12 30 (W01) ps   cs

@


1.29
log
@update
@
text
@a73 1
  2002 07 22 (W30) rse  ms
@


1.28
log
@Changed thl and ps in KW31 and KW33
@
text
@a73 2
  2002 07 08 (W28) ms   thl 
  2002 07 15 (W29) ps   rse
@


1.27
log
@thl on vacation in W35, 36, 37
@
text
@d77 1
a77 1
  2002 07 29 (W31) thl  rse
d79 1
a79 1
  2002 08 12 (W33) ps   cs
@


1.26
log
@update list
@
text
@d80 3
a82 3
  2002 08 19 (W34) rse  ms
  2002 08 26 (W35) thl  rse
  2002 09 02 (W36) ms   thl
@


1.25
log
@week is over
@
text
@a73 2
  2002 06 24 (W26) ms   cs
  2002 07 01 (W27) thl  cs
@


1.24
log
@vacation rescheduling
@
text
@a73 1
  2002 06 17 (W25) thl  rse
@


1.23
log
@year planner
@
text
@d75 2
a76 2
  2002 06 24 (W26) rse  cs
  2002 07 01 (W27) thl  rse
d78 1
a78 1
  2002 07 15 (W29) ps   cs
d89 1
a89 1
  2002 09 30 (W40) ms   thl
@


1.22
log
@update for next week
@
text
@d72 31
a102 9
  Week    PMOD PSOD
  ------- ---- ----
  2002-24 ms   thl 
  2002-25 thl  rse
  2002-26 rse  cs
  2002-27 thl  rse
  2002-28 ms   thl 
  2002-29 ps   cs
  2002-30 rse  ms
@


1.21
log
@Correct grammar.
@
text
@a73 1
  2002-23 ps   ms
@


1.20
log
@Try to pack two sentences of our upgrade policy in to the third paragraph.
@
text
@d43 4
a46 4
     of release grade, the out of date package is considered
     superior and left alone. Exceptionally, alpha and beta grade
     software is repackaged if the out of date version was alpha
     or beta grade also.
@


1.19
log
@Rearrange slaves and servants.
@
text
@d16 1
a16 1
  The daily task of the PMOD is (in this order):
d37 3
a39 3
     openpkg-team by updating the involved packages to new versions.
     For this a new package has to be rolled and placed into
     master.openpkg.org:/e/openpkg/ftp/current/SRC/ and the
d41 6
a46 2
     openpkg-web/news.txt have to be updated and comitted for each
     update. 
@


1.18
log
@update
@
text
@d70 1
a70 2
  2002-22 rse  cs
  2002-23 ps   rse
d72 1
a72 1
  2002-25 thl  ms
d76 2
a77 1
  2002-29 ps   ms
@


1.17
log
@update
@
text
@a69 1
  2002-21 thl  rse
@


1.16
log
@update list
@
text
@d70 1
a70 2
  2002-20 ms   ps
  2002-21 thl  ms
d83 1
a83 1
    setup a OpenPKG devevelpment environment
@


1.15
log
@enable more copy'n'paste
@
text
@a69 1
  2002-19 thl  rse
@


1.14
log
@update
@
text
@d148 1
a148 1
    openpkg-dev$ openpkg-dev list <partialname>
@


1.13
log
@update list and reverse with next week because Peter is ill
@
text
@a69 2
  2002-17 rse  cs
  2002-18 ps   ms  
@


1.12
log
@resolved thl KW20 vacation conflict and KW23 training conflict
@
text
@d70 2
a71 5
  2002-14 rse  cs
  2002-15 thl  rse
  2002-16 ms   thl
  2002-17 ps   ms  
  2002-18 rse  cs
@


1.11
log
@fix abs/rel path problem
@
text
@d76 2
a77 2
  2002-20 ms   thl   VACATION_ALARM! thl
  2002-21 ps   ms
d79 1
a79 1
  2002-23 thl  rse
d81 1
a81 1
  2002-25 ps   ms
@


1.10
log
@add and document list()
@
text
@d148 1
a148 1
    openpkg-dev$ vi re/vcheck/vc.$P
@


1.9
log
@add and document $P feature
@
text
@d150 5
@


1.8
log
@Work Instructions
@
text
@d124 3
a126 2
  Alternatively append the name of the package and the current working
  directory is immediately set to ${OPENPKG_WORK}/src/<package>.
d142 7
a148 7
    openpkd-dev$ cd src/foo
    openpkg-dev$ vi foo.spec
    openpkg-dev$ rpm --fetch foo.spec    #FIXME consider editing .rpmmacros
    openpkg-dev$ rpm -ba foo.spec
    openpkg-dev$ rpm -qplv ${OPENPKG_WORK}/pkg/bin/foo-1.2-`date +%Y%m%d`.*.rpm |more
    openpkg-dev$ root rpm -Uvh ${OPENPKG_WORK}/pkg/bin/foo-1.2-`date +%Y%m%d`.*.rpm
    openpkg-dev$ vi re/vcheck/vc.foo
@


1.7
log
@place a vacation alarm
@
text
@d87 90
a176 29
***********************************
* more technical details from rse *
***********************************

$ cd $OPENPKG_WORK/src/foo
$ vi foo.spec
$ rpm --fetch foo.spec
$ rpm -ba foo.spec
$ rpm -qplv $OPENPKG_WORK/pkg/bin/foo-1.2-20020xxxx.*.rpm |more
$ root rpm -Uvh $OPENPKG_WORK/pkg/bin/foo-1.2-20020xxxx.*.rpm
$ openpkg-dev copy foo-1.2-20020xxxx
$ cd $OPENPKG_WORK
$ vi web/news.txt
  P<foo-1.2-20020xxxx>
$ vi re/vcheck/vc.foo
  version = 1.2
$ openpkg-dev diff foo 
  cvs diff $OPENPKG_WORK/src/foo/ $OPENPKG_WORK/web/news.txt $OPENPKG_WORK/re/vcheck/vc.foo | ${PAGER-more}
$ openpkg-dev ci|commit foo 
  -> WARNING: insufficient karma 
     if $OPENPKG_REPO =~ :pserver:anonymous@@
  cvs diff $OPENPKG_WORK/src/foo/foo.spec
   grep version-release $OV
   grep version-release $NV
   -> WARNING: release not bumped
   cvs diff $OPENPKG_WORK/web/news.txt
   cvs diff $OPENPKG_WORK/re/vcheck/vc.foo
   -> WARNING: not updated...
  cvs ci -m "upgrading foo from $OV to $NV" $OPENPKG_WORK/src/foo/ $OPENPKG_WORK/web/news.txt $OPENPKG_WORK/re/vcheck/vc.foo
@


1.6
log
@remove what is already implemented in openpkg-dev.sh
@
text
@d76 2
a77 2
  2002-20 ms   thl
  2002-21 ps   ms 
@


1.5
log
@more technical details from rse
@
text
@a90 82
 - $HOME/.bashrc
 - export OPENPKG_INST=/cw
 - export OPENPKG_WORK=$HOME/work/openpkg
 dev:
 - export OPENPKG_REPO=openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs
 - export OPENPKG_DIST=master.openpkg.org:/e/openpkg/ftp/current/SRC/
 contributor:
 - export OPENPKG_REPO=:pserver:anonymous@@cvs.openpkg.org:/e/openpkg/cvs
 - export OPENPKG_DIST=ftp://ftp.openpkg.org/contrib/incoming/

 $ openpkg-dev setup

 - establish working/scratch OpenPKG instance under /cw
   sh *.sh --prefix=/cw --user=cw --group=cw

 - working area $OPENPKG_WORK
 - cvs -d openpkg-cvs@@cvs.openpkg.org:/e/openpkg/cvs co -d $OPENPKG_WORK pmod
 - cd $OPENPKG_WORK
 - mkdir dst
 - mkdir -p pkg/src pkg/bin

 - $HOME/.cvsrc
cvs -z4
checkout -P
update -P -d
diff -u -d
rdiff -u

 - $HOME/.bashrc

#   use SSH for CVS
export CVS_RSH=ssh

#   establish private temporary area
export TMPDIR=/tmp/$LOGNAME
export TEMPDIR=$TMPDIR 
test ! -d $TMPDIR && mkdir $TMPDIR && chmod 700 $TMPDIR

#   smart dealing with temporary root priviledges
root () {
    if [ $# -eq 0 -o ".$1" = ".-i" ]; then
        ssh -t -x root@@localhost cd $PWD \&\& exec ${SHELL-/bin/sh}
    elif [ ".$1" = ".-l" ]; then
        ssh -x root@@localhost cd $PWD \&\& `history | tail -2 | head -1 | cut -c8-`
    elif [ ".$1" = ".-t" ]; then
        shift
        ssh -t -x root@@localhost cd $PWD \&\& "$@@"
    else
        ssh -x root@@localhost cd $PWD \&\& "$@@"
    fi
}

kick () {
}

#   easy locating rpm
alias rpm=$OPKG_ROOT/bin/rpm

 - $HOME/.rpmmacros:
#   source areas
%_sourcedir    %(echo $OPENPKG_WORK)/dst/%{name}
%_specdir      %(echo $OPENPKG_WORK)/src/%{name}

#   temporary areas
%_builddir     %(echo $TMPDIR)/openpkg
%_tmppath      %(echo $TMPDIR)/openpkg

#   target areas
%_rpmdir       %(echo $OPENPKG_WORK)/pkg/bin
%_srcrpmdir    %(echo $OPENPKG_WORK)/pkg/src

--------------------------------------------------------

 $ openpkg-dev up|update
    cd $OPENPKG_WORK; cvs up

--------------------------------------------------------

 $ openpkg-dev cp|copy <src-rpm>|basename.src.rpm
      scp $OPENPKG_WORK/pkg/src/$1 $OPENPKG_DIST/
   or curl --upload scp $OPENPKG_WORK/pkg/src/$1 $OPENPKG_DIST/

@


1.4
log
@more details
@
text
@d87 112
@


1.3
log
@remember security engineering aspect
@
text
@a4 2
  PEOD/SEOD

d6 1
a6 1
  -----------
d8 7
a14 5
  Every week there are two dedicated jobs assigned to two people of
  the OpenPKG team: the Package Master On Duty (PMOD) and the Package
  Servant On Duty (PSOD). The PMOD is the responsible person, the PSOD
  is an assistant on demand for the PMOD or becomes the PMOD if the
  assigned person is not available (illness, etc).
d18 17
a34 12
  1. monitor Bugtraq (and related forums (see security.txt for URLs)
     and if we are affected in any way, immediately take action by
     ainvestigating (trying to collect all relevant information)
     and forwarding it in a reasonably filtered way to the Security
     Engineers (openpkg-security@@openpkg.org).

  2. monitor the community postings on openpkg-{users,dev,bugdb}@@openpkg.org,
     try to give a reasonable answer or at least let the community know
     that we are investigating and redirecting the issue to the PSOD
     or putting it onto our TODO lists. The result should be that the
     OpenPKG community at any time gets responses from the team without
     having to wait to long.
d42 4
a45 2
     update. Result should be an OpenPKG-CURRENT which is at any time
     up-to-date over all packages.
d48 16
a63 1
     the TODO list (openpkg-adm/todo.txt) and the BugDB.
d66 1
a66 1
  ---------------
d82 4
@


1.2
log
@more details about this job
@
text
@d5 2
d16 14
a29 1
  The task of the PMOD is:
d31 1
a31 1
  1. process the bi-daily Version Tracking reports posted on
d40 1
a40 8
  2. monitor the community postings on openpkg-{users,dev,bugdb}@@openpkg.org,
     try to give a reasonable answer or at least let the community know
     that we are investigating and redirecting the issue to the PSOD
     or putting it onto our TODO lists. The result should be that the
     OpenPKG community at any time gets responses from the team without
     having to wait to long.

  3. If time permits, additionally investigate in removing issues from
@


1.1
log
@Ok, here is my proposed assignment list for the new weekly PMOD and PSOD job.
@
text
@d5 33
d40 1
a40 1
  2002-14 rse  [ms]
d44 1
a44 1
  2002-18 rse  [ms]  
d48 1
a48 1
  2002-22 rse  [ms]
@

