summaryrefslogtreecommitdiff
path: root/mk/bulk
AgeCommit message (Collapse)AuthorFilesLines
2001-07-21don't try and do 'mount -o async -u /usr' because we don't know that the userdmcmahill1-3/+1
even has a file system called /usr or that thats the right one.
2001-07-21if an outdated package is still installed and 'make deinstall' failsdmcmahill1-1/+5
to remove it, then try again with 'pkg_delete -r'. This can happen when some other out date pacakges are installed and we're trying to bulk build a single package.
2001-07-13if a package subdirectory is listed in the category makefile, but doesn'tdmcmahill2-15/+27
exist, then spit out a big warning to stderr (since we often capture stdout for other purposes) and don't try and descend to that directory.
2001-07-09consolidate a duplicated part of the script.dmcmahill1-6/+10
2001-07-09when saving the rsync script for later, be sure and save the startingdmcmahill1-0/+4
directory too.
2001-07-08teach the upload script about OSVERSION_SPECIFIC packages so one can putdmcmahill2-9/+92
them in the right place. For example, a collection of binary packages can now put uploaded with most going to the major.minor directory and the OSVERSION_SPECIFIC ones going to the major.minor.patch directory. still todo: the destination settings should probably be moved out of build.conf so the same build.conf can be used by multiple machines of different MACHINE_ARCH's at the same time. Perhaps these should be a command line option to 'upload' instead.
2001-06-27do not forget Xhubertf1-1/+3
2001-06-26Fix typo in RCD Id -- s/NetSBD/NetBSD/zuntum1-1/+1
2001-06-26 * add example how to setup a sandbox from sourcehubertf1-2/+2
* remove twice-mentioned resolv.conf
2001-06-23A tiny example how I start my sandbox builds.hubertf1-0/+19
Nothing fancy, probably needs adjusting to other people's environments. XXX the list of things that need to be setup in the sandbox should XXX probably be moved to Packages.txt...
2001-06-23Add a script that I use to upload binary pkgs to the FTP serverhubertf2-1/+36
2001-05-09OK, let's try this the other way 'round: first clean out *everything*,hubertf1-57/+61
then start preparing the bulk build (cvs update, distfile cleanout, ...)
2001-05-09Add date when a buid for a pkg started, and comment a place that has somehubertf1-2/+3
side effecs
2001-05-09don't exit if a depends can't be pkg_add'ed. In this case it will bedmcmahill1-2/+2
rebuilt from sources.
2001-05-05when installing pkglint before the bulk build do it with PRECLEAN=yes.dmcmahill1-11/+12
This should fix pkg/12808. Adding the PRECLEAN as a fix was suggested by Hubert. Also, while here don't hardcode LOCALBASE and X11BASE.
2001-05-03keep a snapshot of the bulk cache files.dmcmahill1-1/+32
2001-05-03some code cleanup.dmcmahill1-30/+36
- use the PKGPATH variable instead of getting it indirectly - don't use `foo` when we only want the return value, not the output. Also, in the non-cache case, we need to remove un-needed packages as noted in the most recent non-cached bulk build. Patches provided by Hubert and slightly modified by me.
2001-05-02do some extra checks. In particular, don't try to pkg_add a package ifdmcmahill1-3/+7
it doesn't exist (doh!).
2001-04-14allow for a pre-build.local script. If mk/bulk/pre-build.local exists,dmcmahill1-2/+7
then run it at the end of pre-build. This lets users do things like: echo "I do not have enough disk space to build this pig." \ > games/crafty-book-enormous/$BROKENF
2001-04-02clean up a few more shardshubertf1-1/+3
2001-03-31uncomment an important line which should have never been commented out.dmcmahill1-2/+2
printindex works now.
2001-03-31get rid of an unneeded awk invocationdmcmahill1-2/+2
2001-03-27make sure that any packages listed in BULK_PREREQ get listed in the outputdmcmahill1-2/+25
even if they are not enabled in the category makefiles. This catches, in particular, pkgtools/xpkgwedge which was missing before. Thanks to Christoph Badura for noting this.
2001-03-19-add support for a BULK_PREREQ make variable. BULK_PREREQ contains a listdmcmahill5-32/+109
of packages which must stay installed during the build, but are not pulled in by the DEPENDS for each package. Currently, BULK_PREREQ will always include pkgtools/digest. At this time, the primary use will be to add BULK_PREREQ+=pkgtools/xpkgwedge in /etc/mk.conf to do an xpkgwedge'd bulk build. It is up to the user to make sure that the list of packages in BULK_PREREQ is a flattened list (ie all the DEPENDS are listed too). Again, at this time, xpkgwedge is really the only package that should be added to the list. -add an ADMINSIG build.conf variable. This is the signature at the end of the email report. Maybe now I'll quit forwarding reports signed as "-Hubert". -while here, eliminate grep|awk lines and `grep >/dev/null` replacing them with pure awk and grep -q.
2001-03-14make sure CVS_RSH gets set to 'ssh' before cvs updatinghubertf1-2/+2
2001-02-23make the column headings line up a little better. Patch from Hubert.dmcmahill1-4/+4
2001-02-20Fix typo in usage.wiz1-2/+2
2001-02-17Handle new category-Makefile formatwiz2-5/+4
2001-02-17reduce the verbosity when adding/removing pkgs. Suggested by Hubertdmcmahill1-10/+1
2001-02-16Fix 2 typos in comments.wiz1-4/+4
2001-02-15when removing out of date binary packages from ${PACKAGES}/All, also removedmcmahill1-1/+6
the links from the package category subdirectories so we don't leave bad links around.
2001-02-13only use the depends cache files during a bulk build, otherwise revert todmcmahill2-44/+67
the old behaviour. This is done because unless we're in the middle of a bulk build, we don't really know that the cache files are up to date. These are fairly time consuming (relative to a single smallish package build) to generate and depend on all of the pkgsrc makefiles. During a bulk build, the overhead is far outweighed by the savings. In particular, 'make bulk-install' will now work correctly outside of a bulk build (useful for debugging broken packages). Thanks to Hubert who noted the 'make bulk-install' problem in a private email.
2001-02-11finish incomplete sentence (who contributed the code)dmcmahill1-2/+2
2001-02-08when a package fails to package, keep a count of how many others packagesdmcmahill2-10/+26
fail as a result. Then report this number in the generated email and html summary. The goal is to help the pkgsrc crew focus our efforts on the broken packages which have the largest impact. Thanks to Christoph Badura for suggesting that I do this and Hubert Feyrer who suggested an easier to read output format.
2001-02-06fix a bug which causes a few pkgs to be dropped from the output ofdmcmahill1-7/+25
tflat -u. Causes by not fully initializing an array before looping over the array. Other minor code cleanup.
2001-02-02fix a bug which caused pkgs with no dependens to get dropped from the outputdmcmahill1-6/+13
when looking up the tree.
2001-02-01This commit incorporates several speed improvements which have been testeddmcmahill3-54/+193
over several bulk builds on an alpha: - At the start of a bulk build, 4 files are created to allow fast lookup of various dependency tree things. These files are .index == maps package name (foo-2.3) to directory (bar/foo) .dependstree == contains the complete pkgsrc dependency tree in a tsort(1) compatible format. .depends == contains 1 line per package and lists all the build depends for the package. .supports == contains 1 line per package and lists all packages which depend on this package. - When a package fails to build, the list of all packages which depend upon it is read from .supports. Each of those packages is immediately marked as broken. This prevents us from trying to build those packages which can have significant overhead if lots of other depends are installed before the system notices the broken one. In addition, the post-build postprocessing will now indicate that a package is 'truely broken' (ie, bad PLIST, failed compilation) vs. a package which is broken because it depends on a failed package. This assists in determining where to focus our efforts in fixing broken packages. - In the old approach, all packages are removed after each one is built. The purpose was to a) conserve disk space, b) verify that all required dependencies are in fact listed, and c) prevent conflicts. The problem was that often times several packages in a row have similar depends. For example we might want to build several perl packages in a row. In the old approach, we would install perl, build the pkg, deinstall perl and continue with the next one. In the new approach, when it is decided that a pkg is out of date and should be rebuilt, the .depends file is used to obtain a list of pkgs we require. Then and pkgs which are no longer needed are removed. This helps to minimize the total number of pkg_add/pkg_delete's in a bulk build. - Since the order of the build is controlled by the depends tree, all depends for a given package will have been built by the time the pkg in question needs them. If any of the depends failed to build, then the pkg which needs the failed one will have been marked as broken. Given this, the complete depends list for a pkg is read from .depends and the depends installed via pkg_add rather than relying on recursive make calls to install the depends. - while here, fix a few minor bugs x - don't leave .make log files around when the build succeeds x - make sure we refer to the correct report file in the email x - use '.order' for the build order file instead of '.l' x - use 'grep -c' instead of 'grep | wc -l'
2001-02-01take advantage of new target in bsd.pkg.mk to simplify the script and bedmcmahill1-18/+4
sure to not miss libtool depends.
2001-02-01- when deleting packages, don't try and delete packages which have alreadydmcmahill1-6/+10
been deleted. - when removing the '.start' file, don't remove them all, only the one we created. Prevents clashes when pkgsrc is shared among multiple machines.
2001-01-28be consistant about the use of "BULK> " as the prompt relating to the bulkdmcmahill1-15/+15
build system instead of a mix of ">> " and "BULK> ". replace a few foo -> ${FOO}
2001-01-28Initial commit.dmcmahill1-0/+178
tflat is a small awk script used to flatten a dependency tree. It can process a tsort(1) compatible input file and produce a flattened list showing all packages which depend on a particular package or all packages which are depended upon by a package. This is used by the bulk pkgsrc build system. Written by Dan McMahill after careful study of a perl program that does the same function in a nicer way written by Thomas Klausner <wiz@netbsd.org>. The reason for rewriting it without perl was to make it work with only in-tree utilities.
2001-01-28Initial commit.dmcmahill1-0/+64
printindex is a small shell script run from /usr/pkgsrc. It generates an index file which associates package directory (foo/bar) to package name (bar-3.2) for the entire pkgsrc tree. The index file is useful for processing of some of the dependencies during a bulk build. Written by Dan McMahill using a little bit of the code from printdepends.
2000-12-31move the code which determines the BROKENFILE and BUILDLOG file names outdmcmahill3-31/+13
of the top level build script and into the {pre,post}-build scripts. This ensures that either of those scripts may be run directly and not rely on a variable being set by the top level script. Thanks to Hubert Feyrer for pointing out the problem in a private email. These changes do not require any user changes to the build.conf file and should be transparent to the user.
2000-12-30further cleanup of handling the .broken.files and .make.filesdmcmahill4-9/+39
- set BROKENF and BLDLOG in the 'build' script and pass those variables down to {pre,post}-build in the environment to make sure we only set them in one place. The values are determined by a make show-var VARNAME=BROKENFILE This causes the default (set in bsd.bulk-pkg.mk) or the user overridden value from /etc/mk.conf or the environment to be correctly determined. This is more robust that relying on a build.conf setting which may or may not be correctly set. - have pre-build only clean up BROKENF and BLDLOG files instead of .broken* and .make* This avoids conflicts when pkgsrc is shared among different machines.
2000-12-30Don't die without a proper error messagehubertf1-2/+2
2000-12-29add hostname and pid to the temp makefile name to avoid conflicts whendmcmahill1-5/+5
pkgsrc is shared via nfs where multiple machines may want to run the script at the same time. Also avoid conflicts if multiple copies are run on the same machine at once.
2000-12-26don't break the hyperlinks to the broken files....dmcmahill1-2/+3
2000-12-26- get the BROKENFILE setting from `make show-var VARNAME=BROKENFILE` rather thandmcmahill2-7/+9
hard coding it. - explicitly only add $BROKENFILE's to the output rather than .broken.* This makes things work correctly when /usr/pkgsrc is shared among several machines which might use .broken.`hostname` for its broken file logs.
2000-12-22make the pruning of distfiles be controlled by a build.conf setting.dmcmahill2-6/+16
this way if you have 2 different pkgsrc trees sharing a distfiles directory you don't nuke distfiles which may still be needed.
2000-12-15An old version of a (broken) useradd created /nonexistang, and pop3dhubertf1-1/+2
didn't like this. Make sure it's nuked.