Up to [cvs.NetBSD.org] / pkgsrc / devel / libtar
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
Aligned the last line of the buildlink3.mk files with the first line, so that they look nicer.
Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
Fix serious bug where BUILDLINK_PACKAGES wasn't being ordered properly by moving the inclusion of buildlink3.mk files outside of the protected region. This bug would be seen by users that have set PREFER_PKGSRC or PREFER_NATIVE to non-default values. BUILDLINK_PACKAGES should be ordered so that for any package in the list, that package doesn't depend on any packages to the left of it in the list. This ordering property is used to check for builtin packages in the correct order. The problem was that including a buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed from BUILDLINK_PACKAGES and appended to the end. However, since the inclusion of any other buildlink3.mk files within that buildlink3.mk was in a region that was protected against multiple inclusion, those dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
Reorder location and setting of BUILDLINK_PACKAGES to match template buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
Update to version 1.2.11. While here bl3ify and provide a buildlink3.mk. Changes since last packaged version (1.2.5): libtar 1.2.11 - 3/2/03 - updated autoconf macros, compat code, and listhash code - fixed tar_extract_regfile() to pass mode argument to open() (caused EPERM on Solaris NFS clients) - updated README libtar 1.2.10 - 12/15/02 - updated README - minor Makefile fixes - fixed TH_ISREG() macro to not return true for hard links libtar 1.2.9 - 11/19/02 - fixed th_read() to return 1 on EOF (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report) - minor portability fixes (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report) - fixed segfault on extracting filenames with 8-bit ASCII characters (thanks to Per Liden <per@FUKT.BTH.SE> for the patch) - fixed TH_ISDIR() macro and th_get_mode() function to handle old archives that don't set the typeflag field right for directories - use 0777 instead of 0755 in mkdirhier() (thanks to Yves Crespin <Crespin.Quartz@WANADOO.FR> for the bug report) libtar 1.2.8 - 9/13/02 - added "-I../listhash" to CPPFLAGS in libtar/Makefile.in (thanks to Kris Warkentin <kewarken@QNX.COM> for the bug report) - added .PHONY target to Makefile.in (thanks to Steven Engelhardt <sengelha@YAHOO.COM> for the bug report) libtar 1.2.7 - 9/12/02 - fixed minor bugs in listhash code (thanks to Jim Knoble <jmknoble@pobox.com> for the bug reports) libtar 1.2.6 - 9/10/02 - updated COPYRIGHT file - do not check magic field by default (replaced TAR_IGNORE_MAGIC option with TAR_CHECK_MAGIC to enable check) - fixed th_get_mode() not to modify S_IFMT bits if they were already set - fixed TH_IS*() macros to check the S_IFMT mode bits in addition to typeflag (this allows us to handle old tar archives that set mode bits but not typeflag field for directories and other special files) - updated to autoconf-2.53 - restructured autoconf macros - added "b" to gzoflags in gzopen_frontend() for win32 compatibility (thanks to Kris Eric Warkentin <kewarken@QNX.COM> for reporting this) - if O_BINARY is defined (as on win32), set that bit in oflags in tar_open() (thanks to Kris Eric Warkentin <kewarken@QNX.COM> for reporting this) - also use O_BINARY in when calling open() from tar_extract_regfile() (based on patch from Graeme Peterson <gp@qnx.com>) - added COMPAT_FUNC_MAKEDEV macro to handle 3-arg version of makedev() (based on patch from Graeme Peterson <gp@qnx.com>)