Commit graph

29 commits

Author SHA1 Message Date
dmcmahill
afce691e43 make use of the new tools framework via the prereq-readme package to
extract tools needed for the README.html generation.  Suggested by
Johnny Lam and Rolland Illig.
2005-05-18 04:51:35 +00:00
dmcmahill
832614bc4c Rework the README.html generation code. Major changes are:
- completely redo the code which decides on the machine architecture,
  operating system, and operating system version for the binary packages.
  The old way just used to directory names to take a guess.  The new
  way creates a cache file containing meta-data for all the binary packages
  in each "All" directory.  This cache file is consulted when generating
  the lists of available binary packages.  The meta-data is obtained with
  pkg_info so it should always be correct even if you do something silly
  like mix OS_VERSION or MACHINE_ARCH packages up in the same directory.

  Among the benefits are:  works when PACKAGES is not $PKGSRC/packages,
  works with a more or less arbitrary subdirectory structure, works
  when there are subdirectories for multiple operating systems.

  This portion of the fix should address PR25390.

  The cache files are only updated when the contents of an "All" directory
  changes or if the cache file format changes.  There is some room for
  improving the updating of the cache files, but its not too bad the way
  it is.

- fix up some of the awk code so that generadme.awk works with Solaris
  nawk as well as NetBSD's nawk and gawk (for pre-2.0 systems).

- remove some "if ! foo" shell constructs to increase portability.

- be more consistent with what variables get passed to mkreadme from
  make and which ones are determined automatically.  Mostly this meant
  moving stuff into mkreadme to make it easier to run it standalone.
2005-05-17 21:46:59 +00:00
jlam
8a7d3d2ec6 Don't expand .la files in PLISTs that are symlinks. The expansion should
only occur with the real .la file.  This avoids the problem noted by
Greg Troxel in:

	http://mail-index.netbsd.org/tech-pkg/2004/11/12/0018.html
2004-11-12 21:21:08 +00:00
jlam
1191106c78 Check for presence of the libname listed in the libtool archive before
outputting it to stdout.
2004-10-05 22:34:07 +00:00
jlam
79f68f7905 Don't exit on error if the *.la file is not a libtool archive. 2004-09-21 17:54:38 +00:00
jlam
12830b2534 Add a lock_file function that generates lockfiles that are usable on
NFS-mounted directories.
2004-09-21 15:14:08 +00:00
jlam
5073201af9 * Do the *.la expansion within the current _PLIST_AWK_SCRIPT framework.
We no longer require that LIBTOOL_LA_FILES be defined in the package
  Makefile, and the libtool archives should once again be listed in the
  PLIST.

* Add a new yes/no variable "LIBTOOLIZE_PLIST" to control whether to
  have bsd.pkg.mk automatically expand *.la files in PLISTs into the
  true library names represented by the libtool archives.

* Rename the "transform-la" script to "print-la-libnames" which more
  correctly reflects its function.

Many thanks to Todd Vierling for the original implementation and for
his contructive comments on how to improve the changes in this commit.
2004-09-10 19:51:50 +00:00
jlam
b9a3fde88c Add a library of useful shell functions. There are functions for
logging, backslash quoting, and two queue implementations: one entirely
in memory and one using a file.
2004-09-06 18:33:23 +00:00
tv
57110d93e1 Add new variable LIBTOOL_LA_FILES, which may be used instead of listing
all of the .a, .la, .so, and .so.* files in the PLIST.  This will
autogenerate the PLIST entries based on the informaion in the .la file.

This include print-PLIST support; if LIBTOOL_LA_FILES contains an
installed .la, its entries will be elided from the output PLIST template.
2004-08-16 03:12:02 +00:00
wiz
d4e8b44315 Retire buildlink2, now that all packages using it have been converted to
buildlink3.
2004-07-06 22:49:16 +00:00
yyamano
d7a4550b36 Use ${BMAKE} instead of make to make this work on non NetBSD platforms. 2003-09-23 01:51:44 +00:00
dmcmahill
592bab0b32 s/vulnerabilities/pkg-vulnerabilites 2003-09-11 03:00:21 +00:00
jlam
841b57441b Merge pkgviews-mk branch into the HEAD by running:
cd pkgsrc/mk
	cvs update -Pd -A
	cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-09-02 06:59:37 +00:00
dmcmahill
bcee7aab52 - fix bug that gave an invalid entry in the homepage field when there is
no listed homepage.  Thanks to Grant Beattie for noting this and providing a
  patch which I changed slightly.
- fix a bug which put extra stuff in the categories field.  Thanks to Grant
  for noting this.
2003-07-25 12:58:20 +00:00
dmcmahill
981a376c35 - add HOMEPAGE as the last field in the INDEX file.
- make the paths be relative to PKGSRCDIR as opposed to absolute.
- some cleanup/simplification of the awk code.
2003-07-24 22:27:16 +00:00
dmcmahill
28fd31fa83 rework the INDEX file generation. The new approach speeds up things by
several orders of magnitude and 'make index' now takes 30 minutes or so
instead of several days on my test machine.  The approach now is to take
one pass through every package and extract some key information including
the explicitly listed dependencies.  After the data is extracted, the
dependencies are flattened in one step which avoids the extremely
inefficient recursive make that was previously used.
2003-07-23 09:41:23 +00:00
jmmv
f1446ddf2b Drop trailing whitespace. Ok'ed by wiz. 2003-05-06 17:40:18 +00:00
dmcmahill
4e909683e7 when there are no build depends, indicate this with "none" instead of
having an empty list.  Do the same for run depends.  Suggested by
Christian Hattemer in a private email.
2003-03-21 12:49:58 +00:00
dmcmahill
58b8bccbc6 - fix a bug in the HOMEPAGE link when the URL contains an ampersand
- fix a bug in which caused only packages listed as DEPENDS to show
  up in the 'packages needed to build' section.  Now the BUILD_DEPENDS
  are also shown.  Thanks to Christian Hattemer for noting this.

- fix a bug which caused error messages claiming that category and top
  level README.html files could not be created even though they were
  created.  This bug only showed up if an old README.html file did not
  exist.  As part of this, clean up and unify the code which handles
  comparing the new README.html file to a possibly pre-existing one and
  only copying it over if there is a change.
2003-03-19 20:46:55 +00:00
dmcmahill
8dbf77cd41 fix a few 'strings split across lines' bugs which caused some dependencies
to be dropped from the README.html files.  Problem of missing dependencies
noted by Christian Hattemer in a private email.
2003-03-19 02:12:11 +00:00
wiz
620d99bab0 Open/close HTML mark-up in the correct order. Noted by Kevin P. Neal. 2003-02-09 14:59:12 +00:00
yyamano
274016a5d7 Add backslash for a line continuation to fix "make readme" error
on darwin. Approved by mcmahill.
2003-02-08 06:47:52 +00:00
dmcmahill
dd9d9f18d5 fix a bug introduced by the last commit where a string was accidentally
split across a line.  Thanks to Greg Woods for catching this.
2003-01-20 01:31:21 +00:00
dmcmahill
e2438ae141 Many white space and indenting fixes to bring this more in line with
/usr/share/misc/style.  Prompted by a private email from Greg Woods,
woods at weird dot com.
2003-01-18 04:28:57 +00:00
dmcmahill
a89746c11a avoid the use of the gensub() function as it is a gawk extension not
found in other awk implementations.  Patch provided by Greg Woods,
woods at weird dot com, via private email.
2003-01-15 00:40:50 +00:00
dmcmahill
3c18e7dacd add a -a|--append option to allow appending to an existing database instead of
creating a new one.
2003-01-05 15:17:24 +00:00
dmcmahill
76343e4400 expr -> ${EXPR} 2003-01-04 22:27:46 +00:00
dmcmahill
98812f4595 move bulk/{mkreadme,genreadme.awk} to scripts/ as this is a more suitable
location.  They are not really part of the bulk build stuff.
2003-01-04 21:13:34 +00:00
dmcmahill
06ea622f25 add two scripts used for creating dependency databases. These scripts
can be used anytime one needs to extract the complete dependency information
for a package for example, when creating a README.html file for the pkg.
The approach used by mkdatabase requires exactly one make call per package
which makes it scale well to packages with large dependency trees that have
many paths to the leaves.
2003-01-04 21:03:08 +00:00