Commit Graph

504 Commits

Author SHA1 Message Date
Maxim Sobolev
1ddaf006e0 Previous delta was:
Submitted by:	ru
2003-04-18 13:52:50 +00:00
Maxim Sobolev
a346c15b29 Clean up empty dirs. 2003-04-18 13:51:49 +00:00
Maxim Sobolev
d684f40af6 Speed-up a bit when user keeps his working directories in the ports tree
(doesn't use WRKDIRPREFIX).

Submitted by:	ru
2003-04-08 13:36:45 +00:00
Kris Kennaway
393bb456a9 Update sed pattern used to process logs 2003-04-06 05:42:41 +00:00
Kris Kennaway
26bf92a496 Zap some old/non-useful code
Add some new command-line options:
  * -continue : restart the build without rebuilding ports that have
                already failed
  * -nofinish : don't run the post-processing steps when the build finishes
  * -finish : run the post-processing steps only
Reorder some code sections appropriately
2003-04-06 05:40:27 +00:00
Edwin Groothuis
452a17f4c0 This tool parses the output of kdump to generate a list of added
and removed files.

This can be used as the basis of a pkg-plist, or even just for
curiosity about what files something is touching.

Fairly raw at the moment, and doubtless inefficient, but it should
make a useful tool for port creators.

PR:		ports/47424
Submitter:	Daniel O'Connor <doconnor@gsoft.com.au>
2003-04-04 12:20:54 +00:00
Joe Marcus Clarke
bd948000d0 Sort the non-dirrm entries, and reverse sort the dirrm entries.
Reviewed by:	green
2003-03-28 05:08:03 +00:00
Kris Kennaway
e006d25643 - Define __MAKE_CONF to allow per-arch make.conf files in buildworld
- Set the UNAME_* variables to make use of the override support in uname(1)
  This allows us to get rid of the uname shell script in the build chroots
- Collect some variables that are probably old and mouldy, for later GCing
- If FETCH_ORIGINAL is set in the environment, don't fetch from ftp-master
2003-03-23 01:26:42 +00:00
Will Andrews
7ac6ca52e1 Make modulesupdate actually work in light of split. You can't use a
CVSROOT that's readonly.
2003-03-02 17:29:12 +00:00
Peter Wemm
796330dcfb Update for post-repo-split. s/ncvs/pcvs/ so that the default root is
pcvs.freebsd.org:/home/pcvs
2003-02-28 19:49:31 +00:00
Steve Price
c2e4cc1ce9 Do a better job of stating which port we had problems with while
mapping directories to package names.
2003-02-24 16:07:07 +00:00
Mario Sergio Fujikawa Ferreira
2dc2732c98 Another try at fixing the "adding to CVSROOT/modules from remote
hosts (non-freefall)" bug: add '-A' argument to ssh(1) command line
for accessing host cointaining modules file. This should fix the
bug for ssh-agent(1) users. Others can just switch to using
ssh-agent(1).

Approved by:	will (maintainer)
2003-02-23 20:06:06 +00:00
Kris Kennaway
c5150864d9 Instead of pushing the load data to the master with scp every 10 seconds,
just report it via an inetd service.
2003-02-22 22:26:23 +00:00
Kris Kennaway
e0d90467e6 * Allow port builds to be started with a certain niceness ('nice' parameter
in portbuild.conf). [1]

* Build stage 2 builds in a jail instead of a chroot.  This allows us to
  detect ports that attempt IP communication during the build, as well as
  allowing clean termination of the port build (packages built in a chroot
  can leave processes hanging around after the build finishes).  There
  are some caveats with this approach which will be worked around in a
  future commit.

Requested by:	peter [1]
2003-02-22 22:25:12 +00:00
Kris Kennaway
c5c0032536 If ${buildworld}=1 in mkbindist.conf, then use the makeworld script to
build world and populate the chroot.  Otherwise, if ${ftp}=1 then
fetch it from the ftp site as before.
2003-02-22 22:22:12 +00:00
Kris Kennaway
2629774416 Simplify the collection of load statistics for the cluster. Loads
are now collected by polling a small server on the client (using netcat)
instead of having the client scp the load files to the master every 10
seconds (!!!)
2003-02-22 22:21:00 +00:00
Kris Kennaway
6f6a583bc7 Store dates in +%s format 2003-02-22 22:19:03 +00:00
Akinori MUSHA
1520142bc7 Handle '#' and '$' in pkg-comment properly. 2003-02-21 13:12:02 +00:00
Maxim Sobolev
307e2a0837 - pkg-comment is no longer mandatory;
- ignore patchfiles ending with `,v' or '.orig'.
2003-02-21 00:48:19 +00:00
Akinori MUSHA
ce03f12ae5 Add de-pkg-comment. 2003-02-18 12:45:59 +00:00
Akinori MUSHA
a25c270b0e Add de-pkg-comment, a ruby script to convert pkg-comment to COMMENT. 2003-02-18 12:42:44 +00:00
Norikatsu Shigemura
b4b7d18cdf Change how to get CATEGORIES tag from new port for slave port.
Approved by:	will
2003-02-16 15:23:21 +00:00
Kris Kennaway
4e20fd729d Search for a lot of new failure strings to reduce the number of build
failures listed as '???'.

Submitted by:	Mark Linimon <linimon@lonesome.com>
PR:		www/44919
2003-02-14 09:28:42 +00:00
Kris Kennaway
182d4cc46d Work around broken rand() in -current by changing the way we pick a
random build host.
2003-02-14 09:26:20 +00:00
Kris Kennaway
efc1842637 - If ${ftp} = 0 in mkbindist.conf, then use the makeworld script to build
a world instead.
2003-02-14 09:25:47 +00:00
Kris Kennaway
afda0ec7a9 - Correct usage message
- Don't try and use buildenv, it's useless
- Set TARGET_ARCH instead
2003-02-14 09:24:36 +00:00
Kris Kennaway
5ead3c9bf0 Catch up to new semantics of COMMENT variable (contains comment string
itself, instead of pointing to pkg-comment)
2003-02-10 08:56:59 +00:00
Will Andrews
c65c37a41b Attempt to defuse problems from developers who don't have the correct
ssh setup in order for addport to do CVSROOT/modules correctly.
2003-01-30 17:28:34 +00:00
Kris Kennaway
04a23345d0 If the port directory contains a file called .keep, then tar up the
${WRKDIR} after the port build completes and copy it to
${arch}/${branch}/wrkdirs/${pkgname}.tbz.
2003-01-24 11:01:37 +00:00
Kris Kennaway
b60d2dcc1e These scripts have been replaced by .c versions that do not require perl. 2003-01-24 05:05:38 +00:00
Kris Kennaway
dda0014b14 - Use ${arch} and rename html files accordingly
- Call processfail to produce 'new port failures' page
- Comment out the 'comparelogs' calls for now until I make them aware
  of architectures that don't have 4.x support
2003-01-24 05:04:16 +00:00
Kris Kennaway
934f3cece0 First cut at a script to process the logfile maintained by 'buildsuccess'
and 'buildfailure' and produce a HTML output listing ports with the date
they became broken.  The output can surely be made more useful (e.g. it
always links to the ${branch}-latest logs, which may not exist when the
build-in-progress has not yet attempted the build of that port).
2003-01-24 05:03:08 +00:00
Kris Kennaway
df64a01f68 These scripts are run when a build completes (successfully or not). They
keep track of the number of times a port has failed to build, resetting
the counter when it builds successfully.  There are still some bugs to be
worked out, but this will be used as the basis for maintainer notification
of port failures.
2003-01-24 05:01:24 +00:00
Kris Kennaway
220758235c Simple script to check the number of packages built on the various
architectures, for a given branch.
2003-01-24 04:59:03 +00:00
Kris Kennaway
a4ad73ca23 Script to automate the process of cvs updating the build tree, performing
the buildworld, installworld and 'make distribute' necessary for preparing
a bindist.
2003-01-24 04:57:21 +00:00
Kris Kennaway
6d119d605f - Use ${arch} 2003-01-24 04:55:31 +00:00
Kris Kennaway
6ab268ded7 Determine client architecture using /etc/arch 2003-01-24 04:55:15 +00:00
Kris Kennaway
069c3c3e0f - Use ${arch}
- Support builds as non-privileged user
2003-01-24 04:54:45 +00:00
Kris Kennaway
55e6f3bab5 Check status of multiple architecture client machines 2003-01-24 04:54:01 +00:00
Kris Kennaway
b715744cfd - Use ${arch}
- Increase timeout to 2 hours (needs to be arch-specific)
- Mount nfs filesystems with nfsv3,intr (the latter so that clients do
  not hang if bento panics)
- Run pnohang.${arch} on clients instead of pnohang
- Support builds as non-privileged user
2003-01-24 04:52:29 +00:00
Kris Kennaway
b26c9f68bd - Use ${arch}
- Increase timeout to 8 hours (this needs to be made per-arch so it
  doesn't overly pessimize fast client machines)
- Support building as a non-privileged user
2003-01-24 04:49:09 +00:00
Kris Kennaway
225546e3a1 - Use ${arch}
- Mount on ${master} instead of localhost
2003-01-24 04:47:17 +00:00
Kris Kennaway
d80ddb3e6d - Use ${arch} and ${INDEXFILE} 2003-01-24 04:46:41 +00:00
Kris Kennaway
43c5148669 Add the ${arch} argument 2003-01-24 04:46:02 +00:00
Kris Kennaway
e3ceee4e57 - Use the ${arch} subdirectory and pass ${arch} around to other scripts
- Use $INDEXFILE
- Use makeparallel script instead of 'make parallel'
- Support building packages as a non-privileged user (needs root access
  to client machines)
2003-01-24 04:45:18 +00:00
Kris Kennaway
90bdd0d643 Add makeparallel script, an improved version of the 'parallel' target
in ports/Makefile.  It uses the buildenv framework to obtain the correct
PKGSUFFIX and INDEXFILE variables.
2003-01-24 04:43:42 +00:00
Kris Kennaway
13c6a42331 Use pkg_add instead of pkg_add -f 2003-01-24 04:39:02 +00:00
Kris Kennaway
47e798381c Sync with bento:
- Switch to using ${arch}/${branch} subdirectory instead of ${branch}
- export INDEXFILE, MACHINE_ARCH and ARCH variables
- Add (commented out) FETCH_BEFORE_ARGS setting
- Add MASTER_SITE_OVERRIDE to fetch from ftp://bento
- Zap some mouldy old unused variables
2003-01-24 04:37:29 +00:00
Kris Kennaway
4fbc0185e0 Remove these scripts, which are no longer useful. 2003-01-24 04:32:33 +00:00
Mario Sergio Fujikawa Ferreira
11b467a83a Add both hungarian and portuguese l10n prefixes to syncronize with
portlint port

Approved by:	maintainer
2003-01-23 07:05:24 +00:00
Murray Stokely
6040f01eef Update this script to deal with .tbz packages. 2003-01-20 06:27:56 +00:00
Peter Pentchev
77ec5aff0a Add two utilties for listing and stashing away package files obtained
from recursive dependency builds a la:

  make DEPENDS_TARGET='install package clean' all install package clean

The pkg-list script obtains a list of the packages in the dependency
directories; the pkg-stash script moves them away to a predefined
directory, adding a timestamp to the package file name.  This is
convenient for keeping ready-built packages for system rescue
activities.
2003-01-08 15:40:08 +00:00
Alan Eldridge
ee95760eb8 unbroke addport by petef 2002-11-19 14:30:54 +00:00
Kris Kennaway
520ab052d8 Convert this to buildenv to make it actually work properly. 2002-11-18 10:12:47 +00:00
Pete Fritchman
b0ca12cd09 Use 'cvs ci -F ...' instead of setting the log file with EDITOR="cp ...".
This fixes addport for me on -stable (cvs was erroring out), and also
fixes addport when you have the EDITOR environment variable set.

Approved by:	will
2002-11-13 15:00:00 +00:00
Kris Kennaway
115bbb55f9 Fix the html output of this script. There was neither a closing
body tag nor a closing html tag.  In general, browsers work without
these, but Konqueror in particular was displaying some artifacts.

Also make sure empty cells have an nbsp directive; eliminate a bogus
case for Aff.; and change Date build to Build date.

Submitted by:	Mark Linimon <linimon@lonesome.com>
PR:		www/45021
2002-11-10 08:55:33 +00:00
Kris Kennaway
78395efc95 Catch up to lots of changes from bento/beta:
* Update list of quickports to include kde3

* Add ability to restart builds (-restart)

* Change default to build packages for non-cdrom use (associated option name
  inverted from -nocdrom to -cdrom)

* Cope with .tgz or .tbz packages

* Use buildenv framework

* Use cvs update -PdA instead of -Pd when updating ports/docs tree

* Always delete restricted packages after a build run, since they are
  published on the website.

* Minor cosmetic changes
2002-11-08 22:20:48 +00:00
Kris Kennaway
a3be6877e5 Revamp this script:
* generate an interim .logs file containing the data to be presented in
  the html files (also useful for other consumers, like fenner's
  per-maintainer error logs)

* Generate 5 different summaries of the error data, sorted by port name,
  maintainer, category, build error, builddate

* Improve the table html code so it renders faster

* Add a few new failure reasons

Submitted by:	edwin (based on)
PR:		ports/43927
2002-11-03 22:41:40 +00:00
Kris Kennaway
7c78297dc2 Add C versions of the pnohang and ptimeout scripts (previously written in
perl).  Thanks to all those who submitted versions of these.

Submitted by:	marcus (based on)
2002-11-03 04:49:39 +00:00
Kris Kennaway
da8d4e6bda Use the correct filename for the FreeBSD version string used by the
uname script.  Mount the docs from the correct location.  Remove the
hack to pkg_add perl into the chroot environment, now that the scripts
no longer rely on it.
2002-11-02 04:04:14 +00:00
Kris Kennaway
78774e2719 Read FTP url from ${ftpurl}. Remove hack to fetch perl package into the
bindist now that it is no longer required.
2002-11-02 04:01:54 +00:00
Kris Kennaway
52918465c1 Support either .tgz or .tbz packages 2002-11-02 04:00:18 +00:00
Kris Kennaway
a76f0d1da4 Add FTP_PASSIVE_MODE. Build tgz packages on 4 and 4-exp, and tbz on 5. 2002-11-02 03:59:45 +00:00
Will Andrews
e9a43d0120 I never thought I'd change this code, but a change was required to make
sure cvs -R is enforced for freefall !=n cvs.  And it's a Bad Thing(TM)
that a piece of code addport depended on wasn't in the CVS tree anyway.
2002-10-14 08:47:42 +00:00
Will Andrews
59a2c2fb8b Modifications to support ncvs.freebsd.org != freefall.freebsd.org. This
actually simplifies some of the code and makes other parts more complicated.

Tested by:	www/mod_filter && (after bugfixes) sysutils/sjog
Noticed by:	ijliao (by way of peter)
2002-10-14 08:45:57 +00:00
Will Andrews
1bd9bb95e8 Add 650MB for the 4th CD since it's all just packages. 2002-10-08 04:23:59 +00:00
Murray Stokely
048d0b8a8e Increase the available space for packages on disc #1 of the package
split.

Approved by:	portmgr (will), re
2002-10-08 04:08:39 +00:00
Kris Kennaway
ef6266db84 Correct a message 2002-09-15 22:05:54 +00:00
Kris Kennaway
ce8ff4da93 Conditionalize one more thing on i386 2002-09-15 22:04:05 +00:00
Kris Kennaway
a959b8bdac Optimize the html output by putting multiple missing files in the same
table row, instead of making a new row for every single file.  This
cuts down the generated page size drastically, improving rendering times.

Submitted by:	Edwin Groothuis <edwin@mavetju.org>
PR:		ports/40962
2002-09-15 22:02:20 +00:00
Kris Kennaway
2eda2e760e Add a bunch of new failure modes (mostly to do with ports failing on 5.0) 2002-09-15 21:58:46 +00:00
Kris Kennaway
538513b7da Use PKGSUFFIX from buildenv 2002-09-15 21:57:52 +00:00
Kris Kennaway
d50285d854 Add PKG_PATH so packages can be found automatically (not sure what caused
this to break).  Support both .tgz and .tbz packages.
2002-09-15 21:57:05 +00:00
Kris Kennaway
b2abae3101 .tbz packages are now standard 2002-09-15 21:56:08 +00:00
Kris Kennaway
328a27e8b5 * XFREE86_VERSION=4 is now standard
* Add PKGSUFFIX and PKGZIPCMD variables
2002-09-15 21:55:52 +00:00
Kris Kennaway
17048bd504 * Support multiple arches and conditionalize i386-only stuff
* Fetch perl package on -current
2002-09-15 21:55:08 +00:00
Kris Kennaway
ec25ae9a13 * Catch up to .tbz packages
* Hack to use perl package on -current (needs to be done better somehow)
* Use buildenv
2002-09-15 21:53:59 +00:00
Kris Kennaway
8ed01ab91c Check for duplicate entries in INDEX and warn about them.
Submitted by:	Martin Heinen <martin@sumuk.de>
PR:		ports/33196 (based on)
2002-08-31 05:46:25 +00:00
Maxim Sobolev
2151ac0d94 Correct usage example. 2002-07-16 08:13:54 +00:00
Hye-Shik Chang
cd4a3ff133 Add l10n prefix to default module name.
Approved by: will
2002-07-07 00:05:11 +00:00
Kris Kennaway
759c4f8b14 Allow packages to be installed in the build chroot; this is needed
for 5.x package builds since the pnohang script is written in perl,
which was removed from the base OS.
2002-06-06 20:58:52 +00:00
Kris Kennaway
79fb8478c2 Only run ldconfig -aout commands on i386
Correct some build environment variables
Exit with code 255 if the port build failed uncleanly
2002-06-06 20:55:57 +00:00
Will Andrews
46c1ad877a Use correct variable for symlinking src scripts. 2002-06-01 22:44:50 +00:00
Trevor Johnson
27ef913f54 Support PATCH_WRKSRC. See
http://people.freebsd.org/~trevor/ports/update-patches-1.411.diff
for the accompanying patch to bsd.port.mk.

PR:	24292
2002-05-25 15:15:41 +00:00
Will Andrews
94ebfe0c5f Track setup.sh usage. 2002-05-20 08:29:21 +00:00
Will Andrews
032f980d96 Use the right variable name. 2002-05-20 08:16:44 +00:00
Will Andrews
90405e668b Use a RE to find the X dependency instead of hardcoding. 2002-05-20 07:50:16 +00:00
Will Andrews
4230758a38 Streamline instructions a little more. 2002-05-20 07:31:51 +00:00
Will Andrews
13f0dec174 Add this makefile to help people who are performing package splits to
generate the correct environment in which to do them.
2002-05-20 07:19:07 +00:00
Will Andrews
91a4623523 Add CD configs for use by these scripts. 2002-05-20 07:14:42 +00:00
Will Andrews
7fde760081 More useful exit if dir not passed. 2002-05-16 03:24:44 +00:00
Will Andrews
a2d1f26f29 Accept dir as argument instead of hardcoding. 2002-05-16 03:21:44 +00:00
Kris Kennaway
abd2d0f62e - Catch up to buildenv changes.
- Always update UNAME_TARGET with each build
- Populate mtree hierarchies better
2002-05-13 03:43:07 +00:00
Kris Kennaway
7e69da3672 Comment out the kernel building and just link to kernel.GENERIC. 2002-05-13 03:40:20 +00:00
Kris Kennaway
2982df6210 Zap some unused code. Catch up to buildenv changes. 2002-05-13 03:30:21 +00:00
Kris Kennaway
68f5d86cb9 - Switch default to XFree86-4.x for all branches
- buildenv() takes extra argument of the portbuild directory
- Add a todo comment
2002-05-13 03:25:39 +00:00
Maxim Sobolev
76499dccc8 Fix breakage introduced in the previous commit. 2002-05-10 14:16:18 +00:00
Maxim Sobolev
11e6c08814 - Make ${DISTDIR} auto-detection actually working;
- unbroke when either ${PORTSDIR} or ${DISTDIR} is symlink.
2002-05-10 09:14:40 +00:00
Maxim Sobolev
58f55ea1c5 Allow overriding ${PORTSDIR} and respect ${DISTDIR} settings.
Submitted by:	Stijn Hoop <stijn@win.tue.nl>
2002-05-07 14:04:05 +00:00
David E. O'Brien
b7cbdecb27 * Change path directory separator character back to _. The problem is "::"
is it makes patch names longer, and many shells autoexpand it to "\:\:"
which makes them even longer.
* Note that this file uses ts=4.

Approved by:	sobomax
2002-04-18 17:46:42 +00:00
Maxim Sobolev
78e1e7573e Fix breakage introduced in previous commit when EXTRA_PATCHES isn't defined. 2002-04-17 10:58:57 +00:00
Maxim Sobolev
ede6fd9dae Recognise EXTRA_PATCHES. 2002-04-15 21:04:58 +00:00
Steve Price
0b75551a95 Set the $scripts directory to the same as $dir to make these more useful
in their "as committed" layout.
2002-03-27 04:48:14 +00:00
Steve Price
76708c716f This file is nearly a verbatim copy of setup.sh so this one is
redundant.
2002-03-27 04:44:39 +00:00
Will Andrews
f0aedc56a5 Add a missed file which acts as a driver for the others.
Add documentation worked on by Steve and myself for ports freeze and
package split procedure.  Very minimal, very 4.5 specific, needs work.
2002-03-27 00:52:59 +00:00
Will Andrews
a56a8c6935 Add the scripts used to break up the package collections for a release.
Some work/cleanup here would probably be desirable.  I'm committing them
now to give others the ability to reproduce these package splits and help
with making these scripts better.  The README should have some more
documentation in the future.

A better solution to the package set size problem would be to teach
sysinstall to ask for the CD on which a particular package is when it
needs to add it, but for now this will do.

Requested by:	murray
Written by:	steve
Discussed with:	steve, kris (some time ago)
2002-03-27 00:45:47 +00:00
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
Satoshi Asami
bae984c218 Add another check for duplicate installations of same port. Only
search for logs in toplevel directory.  A couple of cosmetic changes.
2001-10-14 20:00:31 +00:00
Neil Blakey-Milner
aca5c8ad90 Use 'id -un' and 'id -gn' for user and group information, not 'logname'.
Add mkppackage, which will create a "fake"-style package, but not
really.  It doesn't try fake PREFIX and such to the build (it's not
really possible anyway yet), but it uses pkg_create's '-s' option to
pretend the package generated was installed in ${PREFIX}.
2001-08-17 09:41:17 +00:00
Maxim Sobolev
c7d13486e3 Actually fix the breakage introduced in rev 1.2. 2001-07-31 08:50:36 +00:00
Maxim Sobolev
f6f46adfbd Fix breakage introduced in previous commit. 2001-07-31 07:42:43 +00:00
Maxim Sobolev
a2bc5891ae Fix a bug that in some rare cases may lead to a patch not being properly
generated.
2001-07-31 07:41:01 +00:00
Maxim Sobolev
0464d99a43 Trap signal 31 as well (typo).
Submitted by:	"Alexey V. Neyman" <alex.neyman@auriga.ru>
2001-07-30 14:24:12 +00:00
Maxim Sobolev
898e9fee9e Unbroke when /usr/ports is symlink.
Submitted by:	ben
2001-07-30 09:01:12 +00:00
Maxim Sobolev
42016695a6 Fix problems in previous commit:
- We don't really want to catch SIGCHLD;
- actually enable new `-f' option.
2001-05-17 13:50:59 +00:00
Maxim Sobolev
b22c4e2030 - Add an option to disable interactive confirmation;
- catch up possible signals to remove temporary files.

Submitted by:	dirk, sobomax
2001-05-17 13:11:18 +00:00
Will Andrews
ab9d25dedb Stopgap bugfix to avoid the case where a user invokes -t and ends up with
a work/ dir in the repository placed there by addport without permission.
Also restore the rcsids from the predecessors of this script by removing
their $'s.

If I had more time, I'd just revamp parts of this script.

Submitted by:	greid
Apologies to:	greid && cvs@
2001-05-01 13:54:22 +00:00
Neil Blakey-Milner
a8154cfead Be more specific in trying to exclude man pages - look for 'man/man',
not just 'man'.  This makes the 'manage_*' from Zope work.
2001-04-02 10:37:33 +00:00
Neil Blakey-Milner
029193aa5d Steal the 'hmake' variable building from mkpinstall. This wasn't
properly fixing the username in the *OWN variables passed to make(1).
2001-04-02 10:35:29 +00:00
Maxim Sobolev
ba1fa488d4 Add patchtool - a tool to automate generation/updating of patchfiles. This
tool has something in common with update-patches shell script, but has more
features and is more intelligent. See README.patchtool or source code for
details.
2001-03-19 15:33:33 +00:00
Maxim Sobolev
ef746ecffe Look into arch-specific distinfo's as well.
Prompted by:	Vadim Ostranitsyn <vadim@alpha.tsu.ru>
2001-03-19 15:20:00 +00:00
Brian Feldman
9725d8378f Make plist work again with new-found use of line continuation in
mtree files.
2001-03-13 01:53:04 +00:00
Satoshi Asami
bf0af6f063 Uncomment and update OSREL and OSVERSION in preparation for 4.3R. 2001-03-12 10:55:03 +00:00
Steve Price
f91ad808b3 Tweak to catch missing directories from the Makefiles in the various
categories which were failing to be mapped from directory to port name
because 'make index' can't know to run 'make describe' in directories
it doesn't know exist.
2001-03-08 02:28:44 +00:00
Satoshi Asami
041d6fd7a5 mkbindist is in scripts/ now, with ${branch}/mkbindist.conf specifying
necessary per-branch options.
2001-02-28 17:14:29 +00:00
Peter Pentchev
fe8a840446 Do not hardcode /tmp as a temp directory base, try $TMPDIR, $TMP and
the system temp dir as given by paths.h (paths.ph) in this order.

Approved by:	nbm
Perl-fu by:	des, Tony Finch <dot@dotat.at>
2001-02-22 14:51:44 +00:00
Satoshi Asami
abbe92fc7c (1) Update values of OSREL/OSVERSION to match reality.
(2) (portbuild) Change no-output timeout from 1800 to 3600.  Some ports
    seem to actually take more than 30 minutes inside a command.

(3) (portbuild) Add -p flag to tar when extracting bindist.

(4) (makeindex) Remove the -j flag to make index, the argument was 1 anyway.
2001-02-21 04:35:35 +00:00
Neil Blakey-Milner
43a1c1abf7 Some minor additions so that we act a bit more like NetBSD's url2pkg; we
now autogenerate MASTER_SITES if we're given an URL.  Also check the
PKGMAINTAINER environment variable.

Submitted by:	Tomasz Luchowski <zuntum@eik.pl>
2001-02-02 15:00:42 +00:00
Satoshi Asami
f8e206ffe7 A few new features:
(1) The script now assumes make(1) knows how to handle long dependency
    chains properly.  quickports is a list of ports that take a
    long time to build by thesmelves (not ports that have long
    dependency chains).  The script adds several extra dependency
    levels to the generate Makefile for those ports to make their
    dependency chains longer.

(2) Use -R flag to cvs.  Comment out the cvsup part.

(3) Preserve error messages for ports that didn't build the first
    time around but did build on the retry.

(4) Record the package's timestamps in the log directory by doing
    an "ls -asFlrt" in the packages/All directory.

(5) Add a little sleep after two background jobs so outputs won't
    be garbled.
2001-01-21 01:02:13 +00:00
Will Andrews
6e23ca1d3e Fix off-by-one error that was causing an infinite loop in some very
weird cases.  AAARGGH!!!

Discovered by:	will, sobomax, alex
Fix by:		Dima Dorfman <dima@unixfreak.org>
2001-01-16 23:11:38 +00:00
Trevor Johnson
f27e8d32d1 Use the -p option with diff. Add a FreeBSD tag. Don't try to
guess WRKSRC or PATCHDIR.  Don't munge "." characters in filenames.

This requires support in bsd.port.mk, a patch for which is in PR
24292.

Submitted by:	Christian Weisgerber <naddy@mips.inka.de>
2001-01-12 21:25:48 +00:00
Will Andrews
759fa23f72 Fix two bugs: pass $passenv to make *always*; remember that the initial
join() in the autofill algorithm doesn't need a space.

Bugged by:	alex
2001-01-07 07:25:18 +00:00
Brian Feldman
03e6193f13 Make plist (the Ruby script) a tad more useful: build in mtree support
which holds final veto power over what @dirrm lines go into the plist.
This is a bit less evil than all the regexps previously used to manually
remove those directories.
2001-01-06 17:11:40 +00:00
Neil Blakey-Milner
48fce3facf As a quick fix, use /tmp instead of the currently hardcoded /usr/tmp. 2001-01-03 11:16:46 +00:00
Neil Blakey-Milner
e0ceba3928 Add (a currently very bare) mkpbuild, and (the more useful) mkpinstall.
mkpbuild just builds a port with WRKDIRPREFIX and PREFIX set to a
directory in /tmp, and with the owner and group variables set to the
user.  A placeholder - in future, it'll have build error/log parsing.

mkpinstall's claim to fame is to do the same, except with "make install"
instead of "make build", and it then parses the mtree file, and compares
that and the current directory tree and the files, and auto-generates a
plist.

They're not pretty, but they finish the mkptools set basic
functionality: automatic skeleton generation with mkpskel, on-extraction
requirements guessing, and plist generation.

Future direction might be parsing build and install failures, checking
for '/usr/local' abuse, more requirements guessing, and stuff like that.
2001-01-02 20:44:26 +00:00
Will Andrews
2f7c6bd9f5 Fix breakage when someone uses -t option: pass DISTDIR environment variable
to the extra testing's make procs.  Fix _stupid_ mistake where -n option
had no effect on hindering ``cvs add'' and CVSROOT/modules updating.

Cosmetics; remove extra space in generated commit log message and fix the
usage section's style in regards to options that take arguments.  Add
missing -g option's mention.

Submitted by:	assar (DISTDIR, CVSROOT/modules updating routine bugs)
2001-01-01 23:12:31 +00:00
Will Andrews
efc8971fd6 Several changes. First, depend on another environment variable rather
than CVSROOT (now ADDPCVSROOT) to avoid conflicts for people who normally
set CVSROOT to something besides freefall (like myself).  Second, allow
autofill to work for non-PR additions by checking for a -l argument of -1.
Third, remove the bogus $portname check in autofill that screws up if you
are adding something with a PKGNAMEPREFIX (i.e. p5-).
2001-01-01 05:50:33 +00:00
Will Andrews
8de8dbb8e6 Here's my holiday present to the ports team: new -l option allows you to
let portlint fill out your commit log message.  It takes data from your
port's Makefile and pkg-comment to generate this, then displays the
resulting file and gives a chance to fix any problems.

Also, change -c option to move the file to the temp directory.  Since -c
and -l option conflict, -l will take precedence.  Move -c option down to
where directories are parsed.

Reviewed by:	Jeremy Shaffner <jeremy@external.org>
2000-12-31 11:24:13 +00:00
Will Andrews
51dc79714d Add new option: -c file : Pass a file containing the log message for the
new port.  Slight hack used to obtain absolute path for the file.  I'll
probably change that to make it copy the file to the tmpdir instead.  For
now, this provides a stepping stone to use to begin automating commit log
messages - with, of course, a chance to edit the file again.
2000-12-30 02:20:13 +00:00
Will Andrews
6d4b5c5dad Add -g option to disable committing to CVSROOT/modules, useful if someone
is going to commit a large number of ports and doesn't want to bloat
the repo any more than necessary.  Later on I'll add support to
modulesupdate to do multiple modules at the same time.  I should check that
script in CVS, but nobody's repocopied non-ports-specific tools to src yet
to my knowledge so I can't do that.
2000-12-19 08:16:06 +00:00
Satoshi Asami
990f4557b0 master is back to bento.
Add definition of scratchdir=/x/tmp for scratch directory to use
when temporarily creating load files.
2000-12-18 04:43:46 +00:00
Satoshi Asami
aa93cd0f98 Combine the scripts for building the bundist tarballs. The per-branch
specifics are in mkbindist.conf under ${portbuilddir}/${branch}.
2000-12-18 01:54:19 +00:00
Will Andrews
514c1d0973 Functional modification: Make -n only apply to cvs commit, NOT *all*
cvs ops.  Many committers found it difficult to debug while using addport
with the -n argument.  I'm inclined to agree with the sentiment.

Submitted by:	sada, deischen, others
2000-12-08 19:54:54 +00:00
Satoshi Asami
118622e658 Use YYYYMMDDHH for log files so we can have two builds on the same
day.  Remove lock file if package build aborts.
2000-11-07 23:40:07 +00:00
Satoshi Asami
4928f195ad (1) New flag, -ftp, indicates packages are to be copied over to the
ftp site (specified in portbuild.conf).  (It used to be implied by
    -norestr.)

(2) Remove x11-toolkits/Motif-dummy from list of dummy ports, since
    open-motif is now the default.  Also gone is the MOTIF_OPEN
    variable.

(3) Run the tar -czf of the ports tree and generation of CHECKSUM.MD5
    in the background.

(4) Print the amount of time it took for the entire process, as well
    as phase 1 and phase 2 of the compilations.  (It is done by date
    -r, so it will only work modulo 24 hours.  Hopefully the build
    will never go over 24 hours again.)

(5) Make symlink of the form [ae].${branch}.YYYYMMDD ->
    [ae].${branch}.YYYYMMDDHH so we can have the simple "date" form as
    well as the new "date+hour" directories for logs.

(6) Remove temporary make status files from /tmp that are over 60
    minutes since the last modification.  It was filling up the root
    filesystem.

(7) Print out an "ls -lrt" of packages/All into logs/ls-lrt.  This is
    going to be used to evaluate make's job dispatch policies.
2000-11-07 23:39:16 +00:00
Will Andrews
9cd0d7f466 Add standard 2-clause BSD license to protect my (and mharo's) copyright. 2000-11-04 12:19:43 +00:00
Maxim Sobolev
27873e9b7a s|pkg/PLIST|pkg-plist|g 2000-10-21 14:39:20 +00:00
Trevor Johnson
01b5fe4634 Add update-patches, a script to generate updated versions of the
patches in a port.

Obtained from:	OpenBSD
2000-10-19 10:47:28 +00:00
Brian Feldman
11a2dbd370 Add plist, a script to automate the generation of a pkg-plist. 2000-10-17 14:46:04 +00:00
Will Andrews
fc010c8c8b Overhaul addport again. Should be quite functional now.
1) Re-add functionality removed in revision 1.11, but only as an option.
   This time, it checks out its own copy of ports/Mk and points PORTSDIR
   at the correct location.  To use this, use the -a option.  It will not
   work if it can't find portlint in your path.
2) Add option -f to disable fetching the distfile.
3) Add option -m to disable checking out a copy of Mk for 1).  For those
   that have a current Mk in PORTSDIR and don't want to check out a fresh
   copy for whatever reason.
4) Support CVSROOT environment variable.
5) Note environment variables recognized by addport.
6) Fix breakage trying to use -d with multiple directories (not tested).
7) Actually use $interactive variable.
8) Update usage().
9) Note original RCSID for my shell script; take over as MAINTAINER.

Tested by:	gshapiro (this revision was used in adding sendmail)
2000-10-14 05:06:09 +00:00
Neil Blakey-Milner
90d103f7cc Add the first efforts on my mkptools, the successor to makeport.pl.
mkptools are broken up into simple scripts:

mkpskel takes a distribution file as an argument and generates a
skeleton; it guesses the extract method, the package name, and so forth,
and generates populated Makefile and distinfo and empty pkg-descr,
pkg-comment, and pkg-plist.

mkpextr goes through the extract phase, and generates what it believes
are the necessary variables necessary to build the port.  It guesses the
work source directory, what the Makefile is called, whether it has
configure, whether to use libtool, and other bits such as wildly
guessing kde, qt, gtk, gnome, and ssl requirements.  Run it in a port
directory, and it generates Makefile.extr.

mkpmerge merges the results from mkpskel and mkpextr (and will later
merge the results from the other phases) into Makefile.

mkpclean cleans up any extra files that may be hanging about.
2000-10-14 02:45:49 +00:00