jlam [Tue, 2 Sep 2003 03:19:22 +0000 (03:19 +0000)]
Remove -R* options from the dependency_libs lines of *.la and *.lai files.
jlam [Tue, 2 Sep 2003 03:09:51 +0000 (03:09 +0000)]
Sync to HEAD before merging back.
jlam [Sun, 31 Aug 2003 10:07:55 +0000 (10:07 +0000)]
Add a README file that documents pkgviews and buildlink3.
jlam [Sun, 31 Aug 2003 09:46:14 +0000 (09:46 +0000)]
Move the PKGVIEWS file into buildlink3 and rename it "TODO". This file
contains the pkgviews migration plan as well as any other
buildlink3/pkgviews ideas that we may have.
jlam [Sun, 31 Aug 2003 08:12:38 +0000 (08:12 +0000)]
Okay, now that I've read the file and actually understand what it's trying
to do, rewrite the package removal as a loop over ${PKG_DBDIR} then
${DEPOTBASE}. This causes all "overwrite" and package instances in the
default view to be removed first, followed by any depoted packages. Since
removing a depoted package triggers removing package instances in all
other views, this should guarantee that all traces of pkgviews packages are
removed from the system.
jlam [Sun, 31 Aug 2003 07:05:50 +0000 (07:05 +0000)]
Also strip out -L@WRKSRC@ since the libraries may be in the top-level
source directory.
jlam [Sun, 31 Aug 2003 06:59:39 +0000 (06:59 +0000)]
Make USE_X11_LINKS=NO mean "don't add a dependency on x11-links".
jlam [Sun, 31 Aug 2003 06:59:07 +0000 (06:59 +0000)]
Pull in "depot" command from buildlink3 and use it consistently.
Also restore USE_X11_LINKS=NO to mean "don't add a build dependency on
x11-links even though I define USE_X11".
jlam [Sun, 31 Aug 2003 06:39:36 +0000 (06:39 +0000)]
Actually, make sure that we don't try to remove broken packages on the
first time around.
jlam [Sun, 31 Aug 2003 06:37:16 +0000 (06:37 +0000)]
Check to see if DEPOTBASE is different from PKG_DBDIR as an optimization.
jlam [Sun, 31 Aug 2003 05:28:36 +0000 (05:28 +0000)]
Fix some whitespace and remove a redundant ".PHONY: tags" target.
jlam [Sat, 30 Aug 2003 23:05:06 +0000 (23:05 +0000)]
Sync to HEAD.
jlam [Sat, 30 Aug 2003 14:23:27 +0000 (14:23 +0000)]
Missed one more.
jlam [Sat, 30 Aug 2003 14:23:02 +0000 (14:23 +0000)]
The comment in the example buildlink3.mk file in the comments had a typo:
FOO_BUILDLINK_MK -> FOO_BUILDLINK3_MK
Thanks, seb!
jlam [Sat, 30 Aug 2003 13:33:12 +0000 (13:33 +0000)]
Require
20030823 of the pkg_install tools to get fixes in pkg_add(1) so
that we don't accidentally run VIEW-INSTALL with a broken package.
jlam [Sat, 30 Aug 2003 10:35:53 +0000 (10:35 +0000)]
There are three different parts we can add to the common transforming
cache to speed things up:
passthru automatically accept certain options without
further checking
transform change -[IL]{${X11BASE},${LOCALBASE},${DEPOTBASE}/*}
to the correct ${BUILDLINK_DIR} reference
block block certain options without further checking
Seeding the cache appropriately lets us handle large classes of options
without having to go through the wrapper logic file, which generates
a cache hit for every single option and bloats the cache quite bit more.
The implementation is at the bottom of bsd.buildlink3.mk where
${_BLNK_WRAP_CACHE_ADD_TRANSFORM} is generated.
For now, only do the passthru stuff, since I'm not sure of the correctness
of the other two phases. "transform" is probably okay, but "block" may be
a tad too aggressive.
jlam [Sat, 30 Aug 2003 10:22:00 +0000 (10:22 +0000)]
Protect references to ${PREFIX} and ${X11BASE} directories from being
removed when unbuildlinkifying files.
Also properly convert -[IL]${DEPOTBASE}/<pkg>/path to
-[IL]${BUILDLINK_DIR}/path in the seeded cache so that we can properly
use pkgviews packages as dependencies for overwrite packages.
jlam [Sat, 30 Aug 2003 10:02:34 +0000 (10:02 +0000)]
Allow a transformation to be _only_ for either transform or untransform.
jlam [Sat, 30 Aug 2003 09:24:22 +0000 (09:24 +0000)]
_PKG_DBDIR is in fact set in this very file. Thanks, seb!
jlam [Sat, 30 Aug 2003 07:57:58 +0000 (07:57 +0000)]
Sync to HEAD.
jlam [Sat, 30 Aug 2003 07:53:07 +0000 (07:53 +0000)]
* Change the mangled directory name style so that it's possible to
differentiate between the start and end of the mangled name.
* Change references to ${DEPOTBASE}/<pkg> into ${LOCALBASE} so that
"overwrite" packages think headers and libraries for "pkgviews" packages
are just found in the default view.
* Remove extra bit of _UNBUILDLINK_SED that duplicates sed commands that
are added by the depot:...:... command.
jlam [Sat, 30 Aug 2003 07:48:53 +0000 (07:48 +0000)]
Add a new command "depot:src:dst" that translates "src/<dir>/" into "dst/".
Also be more strict about matching either non-separators or separators that
can appear after a directory name.
jlam [Sat, 30 Aug 2003 07:45:03 +0000 (07:45 +0000)]
Strip leading spaces from dependency_libs in the modified .lai file.
jlam [Fri, 29 Aug 2003 11:13:04 +0000 (11:13 +0000)]
Fix up building X11 packages and fix _BLNK_LT_ARCHIVE_FILTER to translate
${DEPOTBASE}/<pkg>, not just ${DEPOTBASE}, into ${BUILDLINK_DIR}.
jlam [Fri, 29 Aug 2003 11:08:12 +0000 (11:08 +0000)]
Don't stomp on PLIST_SRC if using dynamic PLISTs. Instead, make bsd.pkg.mk
use a new variable _PLIST_SRC that's ${PLIST_SRC} if static PLISTs and is
empty for dynamic PLISTs.
jlam [Fri, 29 Aug 2003 02:06:12 +0000 (02:06 +0000)]
Support two new variables:
PKG_INSTALLATION_PREFS?= overwrite pkgviews
# This is a whitespace-separated list of installation types to try when
# building a package, in order of preference.
# Possible: any of: overwrite, pkgviews
# Default: overwrite pkgviews
PKG_INSTALLATION_TYPES?= overwrite
# This is a whitespace-separated list of installation types supported
# by the package.
#
# *NOTE*: This variable *must* be set in the package Makefile *before*
# the inclusion of bsd.prefs.mk.
#
# Possible: any of: overwrite, pkgviews
# Default: overwrite
jlam [Fri, 29 Aug 2003 00:53:05 +0000 (00:53 +0000)]
buildlink2 no longer uses BUILDLINK_X11PKG_DIR, so reap it.
jlam [Thu, 28 Aug 2003 19:12:56 +0000 (19:12 +0000)]
Deal with "-Wl,--rpath -Wl,/path/to/dir" by compressing it into a single
argument "-Wl,--rpath,/path/to/dir". This makes the cache-lookup much
easier.
jlam [Thu, 28 Aug 2003 10:29:09 +0000 (10:29 +0000)]
Avoid removing bare -[ILR], etc. You're allowed to put a space between
the option flag and the directory that follows it.
jlam [Thu, 28 Aug 2003 10:21:52 +0000 (10:21 +0000)]
Properly preserve some whitespace during tranformations.
jlam [Thu, 28 Aug 2003 09:48:20 +0000 (09:48 +0000)]
Second pass at making buildink3 usable by overwrite packages. This
drags in most of the functionality present in buildlink2. We try
something new to prevent libtool from looking in ${LOCALBASE}/lib
for more libtool archives. Also, modify the cache-seeding to occur
in stages and allow for a way to specify which stages we want.
Currently, we seed with only the passthru and transforming bits.
jlam [Wed, 27 Aug 2003 20:43:15 +0000 (20:43 +0000)]
(*) Automatically add BUILDLINK_CPPFLAGS.<pkg> and BUILDLINK_LDFLAGS.<pkg>,
if they're defined, to the CPPFLAGS and LDFLAGS passed to the build.
(*) Fix a silly error that stopped files for "overwrite" packages from
being symlinked into ${BUILDLINK_DIR} -- a "$" was used instead of "$$".
(*) Normalize a few status messages (printed by ${ECHO_BUILDLINK_MSG}) so
that they match formats with the rest of pkgsrc. By default, these
messages are suppressed.
jlam [Wed, 27 Aug 2003 12:57:03 +0000 (12:57 +0000)]
Correct the glob so that we actually match -L${BUILDLINK_DIR}/* and
-L${BUILDLINK_X11_DIR} and discard them.
jlam [Wed, 27 Aug 2003 12:56:00 +0000 (12:56 +0000)]
Correct the glob so that we actually match -L${BUILDLINK_DIR}/* and
discard them.
jlam [Wed, 27 Aug 2003 12:54:04 +0000 (12:54 +0000)]
Add code to unbuildlinkify files and libtool archives.
jlam [Wed, 27 Aug 2003 12:05:42 +0000 (12:05 +0000)]
Add some .PHONY targets for correctness.
jlam [Wed, 27 Aug 2003 11:44:33 +0000 (11:44 +0000)]
Sync to HEAD for subst.mk
jlam [Wed, 27 Aug 2003 11:34:01 +0000 (11:34 +0000)]
First pass at allowing overwrite packages to build using buildlink3.
branch-fixup [Wed, 27 Aug 2003 11:24:37 +0000 (11:24 +0000)]
Add files from parent branch HEAD:
mk/subst.mk
jlam [Wed, 27 Aug 2003 06:09:01 +0000 (06:09 +0000)]
Remove spurious line that causes spewage for "static" action.
jlam [Wed, 27 Aug 2003 03:56:50 +0000 (03:56 +0000)]
Promote buildlink3 framework into something that can be chosen by setting
USE_BUILDLINK3 in a package Makefile (not that this works, yet).
jlam [Wed, 27 Aug 2003 03:38:21 +0000 (03:38 +0000)]
Rename BUILDLINK_DEPOT to BUILDLINK_PKG_DBDIR to more accurately reflect
what we'll be using the variable for.
jlam [Wed, 27 Aug 2003 01:59:45 +0000 (01:59 +0000)]
Add a new su-able target "remove-views" that removes a package from the
views listed in ${PKGVIEWS}.
jlam [Wed, 27 Aug 2003 01:57:19 +0000 (01:57 +0000)]
Cut-n-pasto: s/GREP/GMAKE/ in the GNU make section.
jlam [Wed, 27 Aug 2003 01:47:34 +0000 (01:47 +0000)]
Some speed optimizations so that we don't keep evaluating some variables
set via != for every sub-make process.
jlam [Wed, 27 Aug 2003 00:59:41 +0000 (00:59 +0000)]
Forgot a USE_GMAKE => USE_GNU_TOOLS+=make.
jlam [Tue, 26 Aug 2003 21:58:07 +0000 (21:58 +0000)]
Sync to HEAD
jlam [Tue, 26 Aug 2003 21:52:10 +0000 (21:52 +0000)]
Move the PKG_INSTALLATION_TYPE and _PKG_DBDIR definitions into
bsd.prefs.mk so that PKG_{INFO,ADD,ADMIN,etc.} all use the correct
package database directory and are set correctly before bsd.pkg.mk is
included. This is needed since some buildlink2.mk files use these
variables in != variable settings, and the buildlink2.mk files are included
before bsd.pkg.mk.
As a side effect of this change, we now require PKG_INSTALLATION_TYPE to be
defined *before* bsd.prefs.mk is included, so stick the definition near the
top of package Makefile.
jlam [Tue, 26 Aug 2003 20:56:38 +0000 (20:56 +0000)]
Separate the concepts of where the metadata for a depoted package are, and
where the actual files for a depoted package are.
jlam [Tue, 26 Aug 2003 20:52:17 +0000 (20:52 +0000)]
ename some private variables so that they begin with _BLNK.
jlam [Tue, 26 Aug 2003 20:49:04 +0000 (20:49 +0000)]
Avoid executing pkg_info when we don't have to.
jlam [Tue, 26 Aug 2003 20:41:01 +0000 (20:41 +0000)]
Add some comments at the top describing a typical buildlink3.mk file.
jlam [Tue, 26 Aug 2003 00:14:31 +0000 (00:14 +0000)]
Forgot a line continuation.
jlam [Mon, 25 Aug 2003 20:51:43 +0000 (20:51 +0000)]
Ignore texinfo "dir" files in ${INFO_DIR} (hi, seb!). Also record the
value of _PLIST_IGNORE_FILES in the BUILD_INFO file so that pkg_view(1)
can use it to ignore the same set of files.
jlam [Mon, 25 Aug 2003 19:37:48 +0000 (19:37 +0000)]
Revert PKG_DBDIR -> PKG_DBDIR_DFLT change. Since the pkg_* tools all
support a command-line option to specify the pkg_dbdir, we can keep the
old PKG_DBDIR semantics without change. This is less impactful for when
we merge.
jlam [Mon, 25 Aug 2003 05:08:22 +0000 (05:08 +0000)]
Don't do the info file handling at POST-INSTALL and DEINSTALL times,
instead reserving it for when adding to or deleting from a view. This
prevents dir files from overwriting each other if we move a depoted package
directly into a view directory.
jlam [Sat, 23 Aug 2003 09:45:56 +0000 (09:45 +0000)]
Sync to HEAD.
jlam [Sat, 23 Aug 2003 09:37:16 +0000 (09:37 +0000)]
Tighten up and correct the section on rpath flags: add ${RPATH_FLAG} to the
flags that we allow to specify an rpath, and it's okay to use "-Wl,"
instead of ${_COMPILER_LD_FLAG} since compilers that don't support it will
have those args automatically removed by the wrapper scripts.
jlam [Sat, 23 Aug 2003 09:35:30 +0000 (09:35 +0000)]
Fix typo: "pkgview" should be "pkgviews".
jlam [Sat, 23 Aug 2003 07:41:58 +0000 (07:41 +0000)]
Style issue: if a variable can take two values, explicitly check for both
values in an .if..elif..endif statement, instead of just .if..else..endif.
This makes it more obvious what the alternative condition is.
jlam [Sat, 23 Aug 2003 04:01:53 +0000 (04:01 +0000)]
Remove a redundant PKG_DBDIR setting passed to a sub-make. PKG_DBDIR is
no longer a user-settable option (see PKG_DBDIR_DFLT instead).
jlam [Sat, 23 Aug 2003 03:59:43 +0000 (03:59 +0000)]
Re-order some code to bring logically related stuff together, and comment
a few more variables.
jlam [Sat, 23 Aug 2003 03:24:46 +0000 (03:24 +0000)]
Remove the _OPSYS_DEFAULT_PATH that I accidentally committed a while back.
jlam [Sat, 23 Aug 2003 01:54:29 +0000 (01:54 +0000)]
Rename BUILDLINK_DEPOT to BUILDLINK_PREFIX so that fewer package
modifications are needed to convert packages to use pkgviews.
jlam [Fri, 22 Aug 2003 08:09:39 +0000 (08:09 +0000)]
Change two instances of DEPOTBASE into PKG_DBDIR where we are using
pkg_admin(1) to search through package metadata directories.
jlam [Fri, 22 Aug 2003 08:08:40 +0000 (08:08 +0000)]
Make pkgtools/x11-links not recursively depend on itself, and fix up the
definition of BUILDLINK_X11_DIR to point to the right place if x11-links is
installed.
jlam [Fri, 22 Aug 2003 07:15:48 +0000 (07:15 +0000)]
Require version
20030820 of the pkg_install tools to use the new -K and -k
flags to specify package database directories, instead of setting up a
shell environment for the pkg_install tools. The latter was more prone to
error.
jlam [Thu, 21 Aug 2003 04:07:38 +0000 (04:07 +0000)]
Support PLIST_TYPE, which can be either "dynamic" or "static" to represent
whether we are using the dynamic PLIST facility or if we're using the PLIST
kept with pkgsrc. PLIST_TYPE is only relevant if PKG_INSTALLATION_TYPE is
set to "pkgviews".
jlam [Thu, 21 Aug 2003 02:06:17 +0000 (02:06 +0000)]
Use the
20030819 pkg_install tools, which support PKG_DBDIR_DFLT, and
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.
jlam [Tue, 19 Aug 2003 20:11:10 +0000 (20:11 +0000)]
Sync to HEAD
jlam [Tue, 19 Aug 2003 02:50:57 +0000 (02:50 +0000)]
Add the depot directory of the package we're building to the list of
allowed directories in the runtime library search path.
jlam [Mon, 18 Aug 2003 16:16:42 +0000 (16:16 +0000)]
If INSTALLATION_DIRS is defined, then create the listed subdirectories
under ${PREFIX} prior to calling the do-install target. Try to be smart
about using the right ${INSTALL_*_DIR} to create the directory. This is a
cheap way to list some directories we want to create for a "pkgviews"
package since we don't run mtree.
jlam [Mon, 18 Aug 2003 15:37:36 +0000 (15:37 +0000)]
Change references to -[IL]${DEPOTBASE}/* into -[IL]${LOCALBASE} so that
"overwrite" packages think headers and libraries for "pkgviews" packages
are just found in the default view.
jlam [Mon, 18 Aug 2003 15:35:08 +0000 (15:35 +0000)]
Require the
20020810 version of the pkg* tools.
jlam [Sun, 17 Aug 2003 04:57:17 +0000 (04:57 +0000)]
Alter pkgsrc infrastructure to use pkg_install-
20030809, and properly
add packages into the correct view when using pkg_add(1) (either
through bin-install or the bulk-build process).
jlam [Sat, 16 Aug 2003 21:59:02 +0000 (21:59 +0000)]
Use DEPOT_PKG_ADMIN instead of PKG_ADMIN_CMD (just for correctness since
we're assuming pkgviews here), and default the BUILDLINK_DEPOT.<pkg>
variable to be the default view directory if <pkg> isn't installed.
jlam [Sat, 16 Aug 2003 21:14:54 +0000 (21:14 +0000)]
Define some _PKG_* variables representing the pkg_install tools that point
to either DEPOT_PKG_* or PKG_* and consistently use _PKG_* to avoid having
to constantly condition on the value of PKG_INSTALLATION_TYPE.
jlam [Sat, 16 Aug 2003 20:22:11 +0000 (20:22 +0000)]
Define a DEPOT_PKG_ADMIN command that runs pkg_admin(1) with PKG_DBDIR
set to the DEPOTBASE. This is used for all pkgviews-related uses of
pkg_admin(1).
jlam [Sat, 16 Aug 2003 20:20:55 +0000 (20:20 +0000)]
Clarify that without defaulting to xpkgwedge, we can't convert packages
that set USE_X11BASE or USE_IMAKE (there are ~500 such packages).
jlam [Sat, 16 Aug 2003 19:46:27 +0000 (19:46 +0000)]
Stop worrying about empty _COMPILER_LD_FLAG since the wrappers
automatically take care of it.
jlam [Sat, 16 Aug 2003 19:44:00 +0000 (19:44 +0000)]
Programming with make variables/loops is not like programming with shell
variables/loops. Setting temporary variables in loops doesn't really work
(or at least not all of the time), so rewrite loops to avoid setting
temporary variables.
jlam [Sat, 16 Aug 2003 17:17:11 +0000 (17:17 +0000)]
DEPOTBASE can no longer be ${X11BASE}/${DEPOT_SUBDIR}.
jlam [Sat, 16 Aug 2003 17:14:28 +0000 (17:14 +0000)]
Sync to HEAD for genindex.awk; I apparently missed this file the last
several times I did this.
jlam [Sat, 16 Aug 2003 11:13:25 +0000 (11:13 +0000)]
We need to match the next directory part of ${DEPOTBASE}/* when we're
replacing with ${LOCALBASE}, otherwise we're not matching the full depot
directory.
jlam [Sat, 16 Aug 2003 11:10:08 +0000 (11:10 +0000)]
libtool-fix-la needs ${DEPOTBASE} and ${LOCALBASE}.
jlam [Sat, 16 Aug 2003 11:05:36 +0000 (11:05 +0000)]
Use commas instead of / as separator for sed expression involving paths.
jlam [Sat, 16 Aug 2003 11:01:39 +0000 (11:01 +0000)]
Use the common work log instead of our private one.
jlam [Sat, 16 Aug 2003 10:52:35 +0000 (10:52 +0000)]
Use comments to document this shell script. Also, add some new behaviour:
We make sure that we don't ever reference other .la files from installed
.la files, only referring to other libraries via the usual "-L/path -llib"
and making sure that /path is always somewhere under the default view.
This makes wildcard dependencies work for "overwrite" packages by letting
libtool find libraries in the default view.
A similar change may be needed for pkgsrc/mk/buildlink2/libtool-fix-la
during the pkgviews integration.
jlam [Sat, 16 Aug 2003 10:31:17 +0000 (10:31 +0000)]
Note that we only support a single DEPOTBASE so that package lookups for
dependency checks can be made by looking in only one place.
jlam [Sat, 16 Aug 2003 10:15:39 +0000 (10:15 +0000)]
Don't rely on the shell supporting ${var%%pattern}, although we do rely on
it supporting ${var#pattern} (NetBSD's /bin/sh and ksh seem to do so).
jlam [Sat, 16 Aug 2003 09:33:03 +0000 (09:33 +0000)]
No longer support undocumented USE_X11_LINKS. It just makes life harder
for pkgviews developers.
jlam [Sat, 16 Aug 2003 09:25:36 +0000 (09:25 +0000)]
Undo most of the changes to this file so that building of "overwrite"
packages is impacted as little as possible during pkgviews integration.
Most of the old changes are unnecessarily mostly because we now have
buildlink3 for "pkgviews" packages, so this file no longer needs to worry
about "pkgviews" packages.
jlam [Sat, 16 Aug 2003 09:08:52 +0000 (09:08 +0000)]
Sync to HEAD for tools.mk changes.
jlam [Sat, 16 Aug 2003 08:33:32 +0000 (08:33 +0000)]
Make the SunPro compilers look-and-feel a bit more like GCC, which is
what pkgsrc basically assumes is present. We sanitize rpath arguments
(buildlink2 already did this via sanitize-rpath, but we do it another
way here) and we do something new: convert GCC's "-Werror" into the
flag with corresponding functionality for the SunPro compiler
(suggested in private email from salo).
jlam [Sat, 16 Aug 2003 07:46:33 +0000 (07:46 +0000)]
Add comments to document what the libtool-* files actually do in the
wrapper framework.
jlam [Sat, 16 Aug 2003 07:26:51 +0000 (07:26 +0000)]
Add comments to the ld-post-* files that document exactly what the purpose
of these files is.
jlam [Thu, 14 Aug 2003 13:16:55 +0000 (13:16 +0000)]
Initial implementation of buildlink3, based on buildlink2 and designed to
take advantage of pkgviews.
More thought is needed for the pkgviews/libtool interaction because
libtool archives (*.la) will likely contain absolute paths to other
.la files in depot directories, but we don't want this since binary
packages with wildcard dependencies may break.
jlam [Thu, 14 Aug 2003 13:09:48 +0000 (13:09 +0000)]
End sentence with a period.
jlam [Thu, 14 Aug 2003 07:37:07 +0000 (07:37 +0000)]
Sync to HEAD, primarily for texinfo changes, and prepare for buildlink3.
jlam [Thu, 14 Aug 2003 07:08:17 +0000 (07:08 +0000)]
Move the PKG_INSTALLATION_TYPE definition from bsd.pkg.defaults.mk to
bsd.prefs.mk. We don't want users to get the idea that this variable is
something that they set in /etc/mk.conf.