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