summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
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-31add ftp-access for MASTER_SITE_SOURCEFORGE (on ftp.sourceforge.net)hubertf1-1/+2
2001-01-30Typo in comment for SMART_MESSAGES.jlam1-2/+2
2001-01-29Don't do input redirection for sed if not necessary.wiz1-4/+4
2001-01-29Update gnupg to 1.0.4nb2:wiz1-2/+2
Fix a bug in ~/.gnupg creation. Honor USE_IDEA, and add the IDEA extension in that case. Addresses pkg/11876.
2001-01-29Add automatic ${VARIABLE} handling for MESSAGE files.wiz1-13/+38
Convert most MESSAGE files to new syntax (${VARIABLE} gets replaced, not @VARIABLE@, nor @@VARIABLE@@). By default, substitutions are done for LOCALBASE, PKGNAME, PREFIX, X11BASE, X11PREFIX; additional patterns can be added via MESSAGE_SUBST. Clean up some packages while I'm there; add RCS tags to most MESSAGEs. Remove some uninteresting MESSAGEs.
2001-01-29As per discussion on tech-pkg, correct behavior of `make package' in thejwise1-14/+18
case where DESTDIR is set. Previously, if DESTDIR was set when a pkg was installed, $DESTDIR/var/db/pkg/+CONTENT would get `@cwd $DESTDIR/$PREFIX', as would the +CONTENT archived in the binary package. The first is correct, the second is not. Now, @cwd in the +CONTENT recorded in the binary package gets $PREFIX (no $DESTDIR). This allows binary packages built into a DESTDIR to be installed on a real system. The @cwd in the installed PKG_DBDIR ($DESTDIR/var/db/pkg) remains the same. In addition, the full path ($DESTDIR/$PREFIX) is recorded in @src in the binary package's +CONTENT, for reference purposes. This patch is the same as that posted to tech-pkg, except that variable names have been clarified as suggested by hubertf.
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.
2001-01-28always show depends in show-depends-dirs even if the package is broken.dmcmahill1-5/+1
2001-01-28more on limited-distributionitojun1-2/+3
2001-01-28give more description to ACCCEPTABLE_LICENSES items.itojun1-12/+30
2001-01-26Look for the latest libtool.skrll1-3/+3
2001-01-25Don't use a Dewey decimal relational operator when matching package namesagc1-2/+2
in the "show-downlevel" target, since a number of package names do not correspond to Dewey decimal version numbers (e.g. 2.4.1p1) Instead, use pkg_info(1) to retrieve the installed package name, and compare that against ${PKGNAME}. Fixes PR 12041, from Bernd Ernesti
2001-01-25Remove OVERRIDE_LIBTOOL code per discussion on packages.wiz1-10/+2
(There's no package that's not happy enough with OVERRIDE_LTCONFIG.)
2001-01-22make the show-depends-dirs target be robust for depends which havedmcmahill1-2/+4
their directories specified as :../foo instead of :../../bar/foo
2001-01-22make sure the libtool dependency caused by USE_LIBTOOL is in place fordmcmahill1-2/+2
the show-depends-dirs target.
2001-01-22add 'show-depends-dir' target. This shows the directories of the "top level"dmcmahill1-1/+21
depends for the package. Both build and run depends are shown. This is a non-recursive target. Ie, only explicitly depends are shown. Example: bondage 109 # cd /usr/pkgsrc/cad/geda && make show-depends-dirs cad/gschem cad/gnetlist cad/gsymcheck cad/geda-utils cad/geda-docs This target is useful for collecting dependency tree information for bulk builds.
2001-01-21Add support for SVR4_PKGNAME:veego1-5/+11
SVR4 has a lenght limitation of the package name: Only 9 characters are allowed. Thats not a real problem since gensolpkg, which is used to create a SVR4 packages, truncates the PKGNAME to 9 characters, but there is a second problem. Normaly you have a vendor identifier in that package name. gensolpkg uses at the moment TNF, so we only have 6 characters left, and that is insufficient for a few packages like the amanda ones. Where the real lenght should be limited to 5 characters so one can choose to use a vendor string up to 4 characters. SVR4_PKGNAME should be only added to a few packages where the truncation of the PKGNAME does not produce an unique package name, e.g the amanda packages. You will need pkgsrc/pkgtools/gensolpkg 1.9 which will be commited in the next few days to use SVR4_PKGNAME. TODO: add SVR4_PKGNAME support to pkglint.
2001-01-17Solaris 8 includes the GNU patch command as "/usr/bin/gpatch".tron1-1/+5
2001-01-15Remove NO_WRKDIR, which is incompatible with read-only pkgsrc, and not usedagc1-14/+1
2001-01-13Add SSLCERTS make variable, set to either /etc/openssl/certs orjlam1-1/+3
${SSLBASE}/certs depending on whether we use in-tree OpenSSL or pkgsrc/security/openssl.
2001-01-13Add "show-var" to the list of recursable targets.tv1-2/+3
2001-01-13Don't cause a build failure if "${CC} -version" doesn't work.tron1-2/+4
2001-01-11Use input redirection when invoking "bzcat" because at least the versiontron1-2/+2
distributed with Solaris 8 doesn't like symbolic links.
2001-01-10Invoke second "xargs" command with "-n 256" in "print-pkg-size-depends"tron1-2/+2
because Solaris's "xargs" will otherwise invoke "pkg_info" with no package names when a package has no dependences.
2001-01-10Solaris 2.8 and newer includes "gzip".tron1-1/+8
2001-01-10Define "LOCALEBASE" (not "LOCALBASE") at single place depending on thetron1-1/+4
operating system.
2001-01-07Remove the "pub" part of the URL for sunsite.org.uk. Its not needed andskrll1-7/+7
if left will display a large warning message for every download.
2001-01-05Correct comment on SHLIB_HANDLINGjlam1-2/+2
2001-01-05Add a "show-license" target, and a "show-licence" alias, to displayagc1-1/+7
the package's licence, if it's non-standard.
2001-01-04The way that shared objects were handled in the PLISTs and bsd.pkg.mk wasagc1-64/+60
out of date - it was based on a.out OBJECT_FMT, and added entries in the generated PLISTs to reflect the symlinks that ELF packages uses. It also tried to be clever, and removed and recreated any symbolic links that were created, which has resulted in some fun, especially with packages which use dlopen(3) to load modules. Some recent changes to our ld.so to bring it more into line with other Operating Systems also exposed some cracks. + Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain the ELF symlinks. + Don't mess about with file system entries when handling shared objects in bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will have got it right, and have a much better idea than we do. + Modify PLISTs to contain "ELF symlinks" + On a.out platforms, delete any "ELF symlinks" from the generated PLISTs + On ELF platforms, no extra processing needs to be done in bsd.pkg.mk + Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on a.out platforms + Update the documentation in Packages.txt With many thanks to Thomas Klausner for keeping me honest with this.
2001-01-04Don't ignore previously set ${LIBS} in USE_LIBINTL case.wiz1-3/+3
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-31Fix handling of SHLIB_HANDLING=NO. That is neither stage of do-shlib-skrll1-3/+3
handling should be performed. This fixes the build problems for emulators/compat1[23].
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-30 * Remove old PLIST-mi/md.shared/md.static that was only used forhubertf1-38/+21
perl in a previous (pkgsrc) life. * add "lint" target to run pkglint * Add commented out direction on how to use bzip2 compressed binary packages * Some cleanup (clean target, ...) Reviewed by Thomas Klauser <wiz@netbsd.org>.
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-19Add libtool in 'make fetch-list' output. Suggested by Klaus Heinz.hubertf1-2/+2
2000-12-18add ${X11PREFIX}/lib/X11/fonts/local. plex86 now installed properly.kei3-3/+9
2000-12-15An old version of a (broken) useradd created /nonexistang, and pop3dhubertf1-1/+2
didn't like this. Make sure it's nuked.
2000-12-12Add authoritative CPAN ftp site as a last resort in case packages havedavid1-2/+3
not yet propagated to mirror sites. Closes PR pkg/11591 from Damon Brodie
2000-12-11Add date to email subject.skrll1-2/+2