summaryrefslogtreecommitdiffstats
path: root/Tools
Commit message (Collapse)AuthorAgeFilesLines
* Add an option to the addport script: -b requests that any files inshaun2006-07-141-3/+22
| | | | | | | | ${FILESDIR} which look like patches be treated as binary files. This prevents RCS tags in patch fragments causing a problem for CVS. Approved by: garga (maintainer), ahze (mentor, implicit)
* Add the cvs checkout date so people can see how long the runs take; addlinimon2006-07-131-3/+20
| | | | a comment about openoffice.org*; generalize a bit.
* Make it a little more robust.linimon2006-07-091-1/+1
|
* Convenience script to tersely display all currently running package builds.linimon2006-07-091-0/+11
|
* 'portcomment' appears to be obsolete.linimon2006-07-081-2/+0
|
* Fix the disk_full rule.linimon2006-07-081-1/+1
|
* Add the -exp builds down at the end. Probably only of interest to portmgr,linimon2006-07-081-11/+32
| | | | | so do them separately in order not to break up the ease of browsing the most important stats, above.
* White space adjustment after refactoring.linimon2006-07-081-21/+21
|
* Refactor. No code change (yet).linimon2006-07-081-11/+31
|
* Add some color to the display.linimon2006-07-061-17/+30
|
* Fix CVS tag.linimon2006-07-051-1/+1
|
* Refactor. No code changes yet.linimon2006-07-051-16/+16
|
* Add a column for last-date stamp and clean up the formatting a bit.linimon2006-07-051-7/+22
|
* Escape characters (like +) that may appear in ports' names andvd2006-07-051-2/+13
| | | | break sed -E regular expressions
* When automatic commit log is generated, change @ to " at " on submitter emailgarga2006-07-041-0/+1
| | | | to prevent spam
* Handle the case where the size of INDEX is zero (e.g. during new builds).linimon2006-06-281-1/+5
|
* Fix edit-o.linimon2006-06-281-1/+1
|
* Creates an HTML file with tables for each architecture which summarize thelinimon2006-06-271-0/+123
| | | | | number of packages built vs. packages that failed, along with some other related information.
* - Remove false positives for 'makefile' (and possibly a few others).linimon2006-06-241-57/+23
| | | | | | | | | | | | | | | | | | | | | | | - Remove obsolete explanations which are no longer seen, for speed: ELF, MOTIF, MOTIFLIB, X_manpage, awk, bison, ffs_conflict, forbidden, getopt, getopt.h, imake, lc_r, malloc.h, pod2man, sed, stl, soundcard.h, texinfo, union_wait, values.h - Add more cases to: arch, bad_c++, compiler_error, depend_object, install_error, linker_error, mtree, perl5 These changes reduce many dozens of false positives; add a few dozen true positives; and for certain directories, improve the speed about 10% (a few drop by 15%). It turns out that the performance issues are mainly due to the multiple greps. If performance is an issue we need to go back to the moderately- unreadable, everything-on-one-line paradigm. Before that happens, I would like to experiment with some refactoring, so that the patterns are built up in the shell line-by-line, so you could still be able to read it. Tested on: pointyhat Hat: portmgr
* MFP4:erwin2006-06-221-1/+1
| | | | | Actually use ${SCP_DEST_TMP} to fix the case where SCP_DEST_TMP != /tmp/
* MFP4:erwin2006-06-191-6/+24
| | | | | | When copying INDEX to the server, copy it first to a staging area and first then to the real location. The copying can take long enough for users to get a truncated file when downloading during the upload.
* - Change addport script to do the job locally instead connect to freefall everygarga2006-05-162-18/+39
| | | | | | | | | | time to add a new module. If you want to still use old way, just use "-M freefall.FreeBSD.org" option - Take addport maintainership - When modulesupdate fail, ask user to retry - Change modulesupdate to work fine with addport Approved by: will (maintainer)
* Add support for specifying ports to be removed as directories on thevd2006-05-021-1/+27
| | | | | | | | filesystem (either absolute or relative) in addition to `category/port'. PR: ports/96649 Submitted by: Cheng-Lung Sung <clsung@freebsd.org> Reworked by: vd
* Improve dependency check:vd2006-05-021-2/+3
| | | | | | When removing category/port - look if other ports' Makefiles contain `/port' rather than `category/port', since the later misses things like `${.CURDIR}/../port'
* Add support for removing multiple ports which depend on each othervd2006-04-171-36/+48
|
* Explicitly mount the NFS images ro, instead of relying on the server tokris2006-04-161-1/+1
| | | | | export it ro. This saves thrashing the server if we accidentally try to rm -rf a NFS mount (e.g. because a chroot cleanup failed).
* Don't bother archiving the ports tree, we don't use it for anything so itkris2006-04-161-1/+1
| | | | just takes up time.
* Quote ${1} so we don't get ``[: =: unexpected operator'' if the scriptvd2006-04-121-1/+1
| | | | is started without arguments.
* Add the script I use to remove ports so everyonevd2006-04-101-0/+315
| | | | can benefit (or suffer :-) from it.
* Mount linprocfs on amd64 for the convenience of jdk builds.kris2006-04-031-1/+1
|
* The squid rc.d script no longer has the .sh suffixkris2006-04-032-4/+4
|
* Do not preserve the previous package sets in bak/. This is taking upkris2006-04-031-2/+2
| | | | too much space on pointyhat, and it's also very slow.
* Clean up linprocfs on amd64 as well.kris2006-04-031-1/+1
|
* jdk is buildable on amd64, so we need to also mount linprocfs there.kris2006-04-031-2/+2
|
* This script preserves packages that will be removed by the restricted.shkris2006-04-031-0/+11
| | | | | | | | script, i.e. so they can be moved back into place before start the next incremental build so they won't be needlessly rebuilt every time (jdk, I'm looking at you). It is a bit of a hack since it relies on assumptions about the structure of that shell script, but for now it's the best we can do.
* Temporarily back out the pre.log change, it doesn't work properly.kris2006-03-131-6/+6
| | | | Approved by: portmgr (implicit)
* Mount the md image async here tookris2006-03-131-1/+1
| | | | Approved by: portmgr (implicit)
* Add some more directories temporarily until these ports can be made tokris2006-03-131-4/+8
| | | | | | clean themselves up properly. Approved by: portmgr (implicit)
* Add a mechanism for reporting client machine error conditions back to thekris2006-02-151-1/+14
| | | | | | | | | | | server. Error conditions are flagged by other processes by creating a named dotfile in ${scratchdir}. If these files are found, report the error status instead of the number of running jobs. Currently report "ERR" for all error conditions; I will probably change this to a per-condition message. Currently only "squid not running" and "disk space low" conditions are reported.
* Trim some unused cruftkris2006-02-151-69/+12
| | | | | | | If the package copy fails, bail out immediately instead of later on when we try to pkg_add it. Also trap signals and bail out. Both conditions will cause a retry of the package build.
* Save the output of portbuild run on the client to a temporary log file.kris2006-02-151-1/+11
| | | | | | | | | | If portbuild bailed out unexpectedly, mail the log to ${mailto}. Add some XXX comments about improving robustness of this script. Sleep for 2 minutes before retrying builds, to avoid spamming ${mailto} with a high rate of failure logs. In future we might be smarter about attempting to automatically correct common failure modes.
* Add some sanity checking of the build environment:kris2006-02-151-1/+30
| | | | | | | | | | | * Test whether squid is running. If not, try to kick off the rc script in the background in case it can be restarted cleanly. * Test for at least 100MB of free space on the scratch partition. If either condition fails, set an exception flag and bail out. This will be reported back to the server via reportload.
* * Don't try to pkg_delete packages that are not installed (the usualkris2006-02-151-6/+9
| | | | | | | | | | cause is because it was specified in the list twice) * Don't panic when the list of packages to delete becomes empty * When unexpected filesystem changes are detected, bail immediately instead of proceeding and hiding the error in the middle of the log
* Add support for 6-exp builds (FreeBSD 6.x is our new reference platform)kris2006-02-154-4/+14
|
* * Switch back to using pkg_delete -f; we are not yet ready to dealkris2006-02-131-25/+26
| | | | | | | | | with all the errors from broken pkg_delete scripts * As threatened in previous commit, move the pristine mtree spec generation to phase 1, and avoid having to delete and re-add the FETCH_DEPENDS. We still have to keep them installed until after 'make extract' though
* * In kill_procs(), pass in the directory and mountpoint as separatekris2006-02-111-2/+8
| | | | | | | | | | | arguments (cosmetic) * Detect if a chroot was used to run a jailed build, and first attempt to gracefully shut it down by killing everything within using pgrep(1) This has a much higher chance of succeeding that relying on fstat to identify processes that might interfere with our attempts to clean up mountpoints, which is fragile (libkvm-dependent), and inherently unreliable at best.
* Support for building ports in a jail instead of a chroot. If use_jail=1kris2006-02-111-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in portbuild.conf (or per-machine .conf), then construct a 127.0.0.0/8 IP address based on the build directory ID (i.e. unique for each build instance). This is bound to the lo0 interface for the duration of the 'phase 2' build. We cannot build 'phase 1' in a jail since 'make fetch' doesn't always work through a proxy (e.g. squid sometimes mangles files fetched through FTP, I think by performing CR/LF translation in FTP ASCII mode). Pass in the HTTP_PROXY variable to the jail, if set. This allows FTP/HTTP access from within the jail if the proxy is suitably configured (some ports legitimately need to fetch additional files during the build, e.g. if they have a BUILD_DEPENDS=...:configure target that needs to fetch additional distfiles). Not all ports can be built in jails (most notably the linux_base ports since they want to mount/umount linprocfs), so we will need to come up with a way to deal with this. Some ports require SYSV IPC, so security.jail.sysvipc_allowed=1 might be required. Some other ports attempt to perform DNS lookups, ping, or outbound TCP connections during the build. When it works, this provides better compartmentalization of package builds, e.g. easier termination of builds without the possibility of daemonized processes staying active; no possibility of accidental interference between jails, etc. It also allows for admin monitoring using jls(1).
* * Use ${mailto} portbuild.conf variable instead of hard-coded list [1]kris2006-02-111-4/+7
| | | | | | | | * Remove old logs and possible compressed logs before attempting the build Requested by: lofi [1] Submitted by: linimon [1] No more accidental portbuild spam: kris and krion [1]
* Use ${mailto} portbuild.conf variable instead of hard-coded listkris2006-02-111-1/+1
| | | | | | Requested by: lofi Submitted by: linimon No more accidental portbuild spam: kris and krion
* Checkpoint a major round of changes:kris2006-02-111-64/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Only keep distfiles if the port passes 'make fetch', so we don't accidentally keep files with invalid checksums * Use cleanup() instead of directly exiting in some error conditions * When cleanup() is called indicating an unexpected error (possibly leaving the filesystem in an inconsistent state), mark the chroot as dirty so it will not be reused by another build * Remove packages in dependency order instead of with pkg_delete -f in possibly incorrect order. This paves the way for focusing on errors generated by pkg_delete (e.g. @dirrm that should be @dirrmtry) in the future. [1] * Detect when packages were left behind because they were still in use by other packages, indicating an incorrect or incomplete port dependency list * Partial support for ccache builds (not yet complete) * Support non-standard LOCALBASE/X11BASE settings * Delete FETCH_DEPENDS after the 'make fetch' stage. We have to add them again before 'make extract' since, due to a lack of a 'fetch cookie', 'make extract' actually *always* runs 'make fetch' again, even when distfiles have already been fetched. We need to delete them in order to: * Record an mtree spec of the 'pristine' filesystem state, for later comparison. # XXX Perhaps this can be done in stage 1 before the # 'make fetch', removing the need to delete-and-readd. * Also record an mtree spec of the filesystem state prior to the build phase. Compare this to the state of the filesystem immediately before running the install phase, to detect files that were inappropriately installed during the build phase. Doing so is a fatal error. * Prior to installing, try to run a 'regression-test' port makefile target, if it exists. This allows ports to hook their internal regression suites into the package build. This needs further infrastructure support, e.g. a default NOP target in bsd.port.mk. For now this is run with 'make -k', so regression failures will not yet actually cause package build failures. * Separate the 'make install' from 'make package' phases rather than let the latter implicitly do the install. * After the newly packaged port has been deleted, compare the state of the filesystem to the state before 'make install'. * After removing BUILD and RUN dependencies, compare the filesystem state to the pristine state before the start of the build. This also detects package dependencies that did not clean themselves up properly when deinstalling. It also detects dependencies that were 'missing' from the port INDEX: these were not pkg_added into place, so the package build had to compile them from scratch (a big waste of time and effort), so this is now also a fatal error. PR: ports/85746 (inspired by) [1] Submitted by: Boris B. Samorodov <bsam@ipt.ru> [1]
OpenPOWER on IntegriCloud