Package distribution hassles - a proposal.

Max TenEyck Woodbury mtew at cds.duke.edu
Mon Mar 4 10:15:04 GMT 2002


Update:

  The search is similar to but not identical with what the RPMFIND
server must perform. I tried an RPMFIND on samba from my machine
and only got a partial list of RedHat updates. Nothing on any other 
distribution. I'll look into (literally) RPMFIND and see if it can
be made to return information on more than one distribution source
and on all variants of samba packages and sub-packages. If that 
doesn't work out, I'll write a parser for results of an FTP ls -lR.

  Web page formatting: I'll check out the RPM2HTML package.

  Actual build process:
    Inputs: (Preliminary)
      A directory where the build is to be performed.
      Two directories where the build is to be tested.
      A URL for the distribution to be used. (From search above)
      A URL for updates to be used if any. (Also from above)
      A URL for the source package.
      A list of additional packages needed not specified in the rpm.
      Two directories where the binary packages are to be placed.
      A list of binary package combinations to be tested
    Process: (Preliminary)
      1) verify clean build, template and test directories
      2) setup initial build sub-directory structure
      3) hard link basic tools
      4) copy builds script and .src.rpm into build directory
      5) chroot to build directory
      6) init RPM database
      7) install any packages required by the .rpm and extras list
      8) exit chroot
      9) copy build environment to template environment
      10) chroot to build environment again
      11) install any additional packages needed for the build
      12) rpmbuild ...
      13) exit chroot
      14) copy generated .rpms to save area
      15) for each binary package set to be tested
      16) build test environment from template environment
      17) copy binary package(s) into test environment
      18) chroot to test environment
      19) install binary package(s)
      20) exit chroot
      21) verify proper installation
      22) delete test environment
      22) next binary package set
      23) delete template and build environments.
      24) generate status report for human review.
      25) somebody checks the status report and copies tested 
          packages to distribution directory if they are OK.
    Notes: the duke linix user's group has a general purpose
      package installer that finds dependencies and installs
      packages to meet those requirements. It may need some
      adaptation.

mtew




More information about the samba-technical mailing list