Commit graph

248 commits

Author SHA1 Message Date
Kris Kennaway
ba656274f6 * Clean up this script a bit
* Add a trap handler to try and clean up the build if it is interrupted
  by a signal (one problem with the previous version is that package builds
  whice are interrupted by ptimeout because they are stuck, leave their
  working files lying around in the chroot).
* Switch to NFS v3 mounts instead of v2
* Autogenerate the version string to report in uname within the chroot,
  based on the version string in the head of the CVS branch being built.
* Copy packages via cp from the NFS mount, not scp.
2002-03-25 00:24:03 +00:00
Kris Kennaway
1b934126ce * Clean up this script a bit
* Require an additional <tmpdir> argument so the client knows where its
  temp directory is.
* Mount the portbuild directory readonly via NFS, and copy files that
  way instead of via scp, which has too much overhead
2002-03-25 00:20:34 +00:00
Kris Kennaway
e1b376a273 Detect a couple more failure modes 2002-03-25 00:18:00 +00:00
Kris Kennaway
3f8e160d36 Add MASTER_SITE_OVERRIDE to the list of variables propagated, so that
the cluster machines preferentially fetch an existing file from ftp-master
2002-03-25 00:16:29 +00:00
Kris Kennaway
8668b4f30b Update OSVERSIONS. This needs to be switched to buildenv. 2002-03-16 05:51:02 +00:00
Kris Kennaway
ad945e95f4 Use buildenv for setting environment variables, and tidy up a bit. Fix
typo s/UNAME_VERSION/UNAME_TARGET/
2002-03-16 05:50:24 +00:00
Kris Kennaway
42b02fbb89 Pull environment variables from buildenv, and tidy up a bit. 2002-03-16 05:48:03 +00:00
Kris Kennaway
6d24580fc9 Collect some more environment variables here and tidy up a bit 2002-03-16 05:46:33 +00:00
Kris Kennaway
5826701f06 Clean up index generation:
* Don't assume the script will be called from the ports directory

* Use buildenv to set environment variables

* Set LOCALBASE and X11BASE to dummy variables to prevent the ports tree
  from picking up packages installed on the host system, and patch up
  the generated index at the end
2002-03-11 11:54:40 +00:00
Kris Kennaway
530ba84e62 Set all of the <bsd.port.mk> control variables to be used in port/package
operations in one central place, instead of doing them piecemeal all over
the place.  This also includes the ability to customize settings per
port branch (e.g. XFREE86_VERSION)

Also, instead of hardcoding values of OSVERSION and OSREL which are going
to get forgotten again, pull them out of the source tree in ${branch}/src
so they track the head of the branch.
2002-03-11 11:52:15 +00:00
Kris Kennaway
909460e7dd Zap support for 2.2 and 3.x 2002-03-11 03:56:20 +00:00
Brian Feldman
504b6ad33e Reenable use of the -M option and add a -d option to put @dirrm commands
at the end of the plist.
2002-03-11 03:11:03 +00:00
Kris Kennaway
0bfaa61d95 * Ports get built under ${scratchdir}, not under ${pb}..this was pretty
tangled up.
* Sort the environment variables so that all of the commented out ones
  are grouped together
* Reverse sense of NOPLISTCHECK -> PLISTCHECK, since it's not an option
  we want enabled by default (it causes too many build failures).  This
  was too easy to forget when building packages 'by hand' using the parallel
  makefile.
* Copy across UNAME_VERSION into the chroot area so that uname inside the
  chroot reports the desired version
2002-03-09 23:18:10 +00:00
Kris Kennaway
2f9e4ad54b * Use portbuild.conf for config information.
* Shorten timeout period from 12 hours to 4 hours to avoid delaying the builds
  unnecessarily.
* Reverse sense of NOPLISTCHECK -> PLISTCHECK, since it's not an option
  we want enabled by default (it causes too many build failures).  This
  was too easy to forget when building packages 'by hand' using the parallel
  makefile.
2002-03-09 23:14:41 +00:00
Kris Kennaway
1e74bafe56 Add -nocdrom option to usage 2002-03-09 23:12:33 +00:00
Kris Kennaway
2c2d88145a * Reverse sense of NOPLISTCHECK -> PLISTCHECK, since it's not an option
we want enabled by default (it causes too many build failures).  This
  was too easy to forget when building packages 'by hand' using the parallel
  makefile.
* Display correct pathnames in build progress messages
* Add a -nocdrom option to avoid the (time-consuming) clean-for-cdrom-list
  target
* Remove x11/XFree86 from dummyports since we don't want to use an old
  stale version of the package which never gets rebuilt
* Add comments noting that we should check for CVS conflicts in the cvs
  update scripts and exit gracefully.
2002-03-09 23:11:11 +00:00
Kris Kennaway
6601c13809 Reverse sense of NOPLISTCHECK -> PLISTCHECK, since it's not an option
we want enabled by default (it causes too many build failures).  This
was too easy to forget when building packages 'by hand' using the parallel
makefile.
2002-03-09 23:07:25 +00:00
Kris Kennaway
6a89c7bb38 Ports are built in ${scratchdir}, not ${pb} 2002-03-09 23:06:27 +00:00
Kris Kennaway
0875e2f60d * Document the purpose of this script
* Don't display errors if the bindist tarball is not yet on the client
* Copy over some more files required to set up the client
2002-03-09 23:05:48 +00:00
Kris Kennaway
976b001efd Add new version of uname for 5.x bindists 2002-03-09 23:04:20 +00:00
Kris Kennaway
7bdc623fd8 Add template file from bento 2002-03-09 23:04:04 +00:00
Kris Kennaway
9988eab1eb Don't hard-code a version string to report to the chroots, pick it up
from a file so it can be more easily changed (and is more obvious so it
doesn't get overlooked)
2002-03-09 22:51:20 +00:00
Kris Kennaway
7e42e1b8ed Garbage collect these old configuration directories, since we don't
support 2.2.x/3.x package builds any more.
2002-02-25 08:26:10 +00:00
Kris Kennaway
8ef0083a13 Clean up this script a bit:
* Don't require the script to be called from inside the branch directory;
  follow standard practise and pass the branch to build as an argument.
* Populate the chroot with the BSD.local.dist mtree file
* Add whitespace for readability, and sprinkle liberally with comments
* Comment on some inscrutable parts of the script which were presumably
  put there to work around a (perceived) problem, but which I can't
  understand.
2002-02-24 08:01:54 +00:00
Kris Kennaway
e7d0711182 Axe support for 2.2.x and 3.x branches, and make this script more robust
by removing assumptions about how and from where it is called.
2002-02-24 01:42:26 +00:00
Kris Kennaway
52e7663529 When the 'makeduds' script fails, show the contents of the duds file instead
of just proclaiming "error(s) occurred".  This should immediately identify
which port is causing the build to break (although it's a bit of a verbose
solution).
2002-02-24 00:44:15 +00:00
Kris Kennaway
31c7c10181 Catch up to changes on bento:
* Update OSVERSIONs
* Add -x to ssh arguments
* Use per-branch ports collection
2002-02-11 03:07:54 +00:00
Kris Kennaway
177f0f7012 Catch up to changes on bento:
* Add some commented out stuff which tries to mount/unmount something.  No
  idea why, but it's commented out so it's harmless :)
2002-02-11 03:06:03 +00:00
Kris Kennaway
6a7d0bb916 Catch up to changes on bento:
* Run mtree in the temporary directory to create the filesystem
  hierarchy
* Use the correct kernel compile directory on both 5.x and earlier versions.
2002-02-11 03:03:49 +00:00
Kris Kennaway
24dda16d93 Catch up to changes on bento:
* Don't run this script in a loop, run once only.
2002-02-11 03:00:32 +00:00
Kris Kennaway
5320b2628b Catch up to changes on bento:
* Update OSVERSIONs for the various branches; add 4-exp.
* Add SRCBASE environment variable and export it to the make job.
2002-02-11 02:59:08 +00:00
Kris Kennaway
37be0b441e Catch up to changes on bento:
* Don't create logs for 3.x, do them for 4-exp instead.
2002-02-11 02:55:17 +00:00
Kris Kennaway
03455d1bf9 Catch up to changes on bento:
* Require a branch argument
* Use tar --unlink when copying distfiles
2002-02-11 02:54:07 +00:00
Kris Kennaway
b9b339d725 Catch up with changes from bento:
* Update the list of ports which takes a long time to build.
* Don't use a single ports collection for every port build, indirect through
  ${pb}/${branch}/ports so we can have different ports collections for
  each branch.  Add -noportscvs option to prevent cvs update of ports
  collection.
* Remove 3.x as a valid branch, add 4-exp for the 4.x experimental builds
  used for testing bsd.port.mk patches
* Update usage information
2002-02-11 02:50:02 +00:00
Kris Kennaway
51d99dad1e Document the use and purpose of this script. 2002-02-11 02:43:14 +00:00
Kris Kennaway
37a754673b Describe the meaning of the mlist file a bit better, and update step 9 in
the setup instructions.
2002-02-11 02:32:44 +00:00
Kris Kennaway
a40b28ac21 Document the purpose of this script and the algorithm it uses to
decide machines which should be handed new jobs.  Also, at some point someone
added a note about a possible bug in the reportload script which causes
this one to fall over.
2002-02-11 02:24:23 +00:00
Kris Kennaway
a76e4a0c08 Document the purpose of this script. Use the temp directory for tempfiles 2002-02-11 02:13:29 +00:00
Kris Kennaway
c0d1c2939b Document the purpose of this script. 2002-02-11 02:12:22 +00:00
Kris Kennaway
f2e6390c69 Add a comment describing what this script does. 2002-02-11 01:55:29 +00:00
Will Andrews
71c4172171 Support tools that don't have u@h syntax but h -l u.
Submitted by:	eivind
2002-01-30 15:10:56 +00:00
Maxim Sobolev
54f81921cc - New option `-e' - threat warnings as errors;
- kill unused variable.
2002-01-14 13:07:34 +00:00
Maxim Sobolev
7068d00314 Add license and cvs tag. 2002-01-13 12:07:03 +00:00
Maxim Sobolev
2bdeafee66 Add chkdepschain.py - a tool to address one of the most annoying when it comes
down to user support flaws in the FreeBSD ports system.  The flaw in question
is related to the fact that dependencies are often "chained", which allows to
simplify maintenance of ports with large number of implied dependencies (a la
Evolution, Nautilus, you-name-it). Dependency chaining it's not a problem by
itself, but the fact that when building or installing a port the system doesn't
check chain integrity - it's only checks that dependencies explicitly
specified in port's Makefile are satisfied, which opens wide window for
various hard-trackable problems when one or more links in the middle of the
chain missed.

The idea behind the tool is quite simple - it should be executed right after
main dependency checking procedure, two times for each build - check build-time
chain before building the port (pre-pre-extract) and check run-time chain
before installing the port (pre-pre-install).  When executed, the tool checks
integrity of the specified chain (build-time, run-time or both) and reports all
errors, both fatal (dependency isn't installed) and non-fatal (dependency is
installed, but different version).

I've wrote this tool mostly to simplify maintenance of the GNOME ports, but
it doesn't contain anything GNOME-specific, so that it could be used in the
other parts of tree as well.

As an example I've added GNOME_VALIDATE_DEPS_CHAIN knob into bsd.gnome.mk (off
by default), which enables automatic chain validation for all ports that
USE_GNOMELIBS. This is a bit hackish, because I've used pre-extract and
pre-install targets - what we probably need is a generic way to plug various
custom tasks specified in bsd.xxx.mk (where xxx is kde, gnome, python, etc.)
into various parts of the build process (something like {pre,post}-pre-foo,
{pre,post}-post-foo springs into my mind).

The code is quite raw, so that I would appreciate any bug reports, patches,
suggestions, constructive critiquie and so on.
2002-01-13 12:05:07 +00:00
Maxim Sobolev
025beb219e Ignore patchfiles ending with .orig' and .rej'. 2002-01-04 14:50:57 +00:00
Maxim Sobolev
77beb0d36a - Use ::' as a combination of symbols to replace /' in patchfile name;
- don't reset size of corresponding patchfile to zero if no differencies were
  found between original and modified file.
2002-01-03 20:01:58 +00:00
Maxim Sobolev
679c7de45b Don't trap SIGINFO.
Submitted by:	ben
2001-12-19 16:46:42 +00:00
Maxim Sobolev
428d6d1995 Add checkcats.py - a script that verifyes that master categories in all ports
are correct and reports any problems.
2001-12-11 10:49:51 +00:00
Maxim Sobolev
9da70731a8 Make the tool working even if there is a symlink in a given path to a port's
file. For example I'm usually keeping all working directories in /tmp using
WRKDIRPREFIX, while for the quick access to a port's files creating a symlink
to this directory in skeleton's dir (i.e. ports/foo/bar/src -->
/tmp/usr/ports/foo/bar/work/bar-0.0) and with this patch the tool correctly
works when I'm specifying `src/foo.c' as an argument.
2001-12-05 08:13:40 +00:00
Neil Blakey-Milner
ea8ae7eb91 Actually use the user's group name, not their username, for the *GRP
variables passed to the ports system.  For example, use 'wheel' instead
of 'root' for root.
2001-11-18 11:19:39 +00:00