summaryrefslogtreecommitdiff
path: root/mk/bulk/bsd.bulk-pkg.mk
AgeCommit message (Collapse)AuthorFilesLines
2003-08-23Sync to HEAD.jlam1-2/+2
2003-08-21Use the 20030819 pkg_install tools, which support PKG_DBDIR_DFLT, andjlam1-23/+23
modify pkgsrc to use the new variable. This greatly simplifies a lot of the code instead of having to overload the value of PKG_DBDIR as we did before this change.
2003-08-17Alter pkgsrc infrastructure to use pkg_install-20030809, and properlyjlam1-5/+5
add packages into the correct view when using pkg_add(1) (either through bin-install or the bulk-build process).
2003-08-16Define some _PKG_* variables representing the pkg_install tools that pointjlam1-23/+23
to either DEPOT_PKG_* or PKG_* and consistently use _PKG_* to avoid having to constantly condition on the value of PKG_INSTALLATION_TYPE.
2003-08-16Sync to HEAD for tools.mk changes.jlam1-1/+1
2003-08-14Sync to HEAD, primarily for texinfo changes, and prepare for buildlink3.jlam1-3/+3
2003-08-01Sync to HEAD.jlam1-3/+3
2003-07-11portability fixes:grant1-4/+4
quote a shell test, and run ${AWK} -f tflat instead of using #!/usr/bin/awk.
2003-05-06Drop trailing whitespace. Ok'ed by wiz.jmmv1-4/+4
2003-02-13correct the 'broken due to depends' processing. This change makes thedmcmahill1-3/+5
summary email list correctly the packages which are broken because of their dependencies. Problem noted on Huberts most recent bulk build.
2003-02-08honor PKG_SKIP_REASON as well as PKG_FAIL_REASON, like normal build does.kei1-2/+2
2002-12-07Replace IGNORE into PKG_FAIL_REASON and PKG_SKIP_REASON, so pkgsrcschmonz1-2/+2
can stop builds when a dependency is broken, yet continue builds when a dependency is merely skipped (usually because it duplicates functionality in the base system). Thus IGNORE_FAIL, the oft-misunderstood and naught-documented option, goes away. This addresses many people's complaints on tech-pkg@ and other lists, as well as PR pkg/18157.
2002-08-22Merge pkgsrc/mk from the buildlink2 branch back into the main trunk.jlam1-1/+1
2002-07-21Make bulk builds aware of packages with INTERACTIVE_STAGE and mark them asmrauch1-1/+9
"not packaged" instead of "broken".
2002-06-29don't hard code the start time stamp file as .start.${arch} but allowdmcmahill1-1/+5
OBJMACHINE and OBJHOSTNAME to work. Also don't hardcode /usr/pkg and /usr/X11R6 for LOCALBASE and X11BASE. Finally, fix a few typos in messages while here.
2002-03-04Use <pre> to surround build logs - monospaced fonts are so much more readable.hubertf1-10/+10
OK'd by Dan McMahill
2002-01-20add some html markup to the .broken files (which now have .html extenstion).dmcmahill1-10/+12
The primary purpose is so when a package is broken due to broken depends, there are links to the build logs of the broken dependencies. Suggested by Brook Milligan on tech-pkg.
2002-01-12add the OBJHOSTNAME functionality that appeared in 1.901 of bsd.pkg.mk.dmcmahill1-20/+22
When OBJHOSTNAME is set, the various cache files and log files will include the hostname in their names. Useful when multiple machines of the same architecture share pkgsrc.
2001-12-17- add 'bulk-cache' and 'clean-bulk-cache' targets to create and removedmcmahill1-1/+31
the cache files used during a bulk pkgsrc build. - replace the code in the build script that used to create the cache files with a 'make bulk-cache' call.
2001-12-16add more checks to be more robust in the face of an index file whichdmcmahill1-1/+3
may not be 100% accurate.
2001-12-15Modify all references to PKGSRCDIR to _PKGSRCDIR, except in the externalagc1-22/+22
references of the pkglint package. _PKGSRCDIR is an internal definition in bsd.pkg.mk, and a few packages which would like to refer to other packages in the build tree. It should not be set by users, but neither should it stop a user from building a package if it is defined, so make it obvious that this is the case.
2001-11-28lose some more pkg/ referencesabs1-3/+3
2001-11-07The $DEPENDS file has the pkg's directory in the first column, followed byhubertf1-2/+2
whitespeace, followed by it's required pkgs. Make sure to look for that whitespace, to not catch any wrong positives, e.g. egrep "x11/kdebase.*" $DEPENDSFILE will catch depends for both KDE1 and KDE2 and do weird things then (among other things, think that kdelibs-2.2.1 is ok as a dependency when building in x11/kdebase, which is certainly not!) Eight broken pkgs less in the bulk builds by adding a single space! (Now if adding some more would help further... :-)
2001-10-20When working out if an installed package should be left as itabs1-1/+4
matches one of the DEPENDS, the bulk-build system looked up the package in the INDEXFILE, then used the pkgdir returned to check against the DEPENDS. If for some reason the package was not found in the index file the package was left installed as 'requires installed package'.
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-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-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-03-31get rid of an unneeded awk invocationdmcmahill1-2/+2
2001-03-19-add support for a BULK_PREREQ make variable. BULK_PREREQ contains a listdmcmahill1-15/+25
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-02-17reduce the verbosity when adding/removing pkgs. Suggested by Hubertdmcmahill1-10/+1
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 todmcmahill1-43/+65
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-08when a package fails to package, keep a count of how many others packagesdmcmahill1-5/+7
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-01This commit incorporates several speed improvements which have been testeddmcmahill1-37/+131
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-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}
2000-09-15Whitespace fixhubertf1-2/+2
2000-09-02remove debug codehubertf1-2/+2
2000-09-02log more stuff to buildloghubertf1-17/+23
2000-08-25a couple of minor changes to the bulk-check-uptodate target:dmcmahill1-9/+11
- quote arguments to pkg_admin so the shell doesn't try to expand any *'s. - be sure that all required binary packages exist. The previous version made sure the required packages were not newer, but missed catching missing required packages. Still todo: When examining required binary packages to see if they have changed, the test only looks at the modification time of the binary package. It does not verify that the required binary package is also up to date with respect to its pkgsrc files.
2000-08-24escape the \ in an echo command so we see itdmcmahill1-2/+2
2000-08-24If a required binary pkg is found newer, tell which one.hubertf1-2/+2
2000-08-24Remove a comment that's no longer valid after we have 'pkg_admin lsbest'hubertf1-4/+1
now - we can expand all pkg wildcards with that.
2000-08-24Back out last commit: It nuked pkgs that we compile in several versions,hubertf1-4/+4
e.g. for "normal" and -current pkgs.
2000-08-11When rebuilding a pkg, don't only remove the binary pkg currentlyhubertf1-4/+4
available with the current version, but ALL version. That way, old pkg versions are automatically removed when building new ones.
2000-08-04Suppress any errors from pkg_delete if no pkgs are installedhubertf1-1/+3
2000-08-01minor grammar fixdmcmahill1-2/+2
2000-08-01s/depends/install-depends/hubertf1-4/+4
2000-07-31make sure the required packages (depends) are installed before thehubertf1-1/+3
package is about to be built. This allows measuring of (only) this pkg's build cost in some future step.