caches variable definitions that were computed by make. These variables
are specified by listing them in MAKE_VARS, e.g.,
.if !defined(FOO)
FOO!= very_time_consuming_command
.endif
MAKE_VARS+= FOO
bsd.pkg.mk will include only the one generated during the most recent
phase. A particular phase's makevars.mk file consists of variable
definitions that are a superset of all of the ones produced in previous
phases of the build.
The caching is useful because bsd.pkg.mk invokes make recursively,
which in the example above has the potential to run the very time-consuming
command each time unless we cause FOO to be defined for the sub-make
processes. We don't cache via MAKE_FLAGS because MAKE_FLAGS isn't
consistently applied to every invocation of make, and also because
MAKE_FLAGS can overflow the maximum length of a make variable very
quickly if we add many values to it.
One important and desirable property of variables cached via MAKE_VARS
is that they only apply to the current package, and not to any
dependencies whose builds may have been triggered by the current
package.
The makevars.mk files are generated by new targets fetch-vars,
extract-vars, patch-vars, etc., and these targets are built during
the corresponding real-* target to ensure that they are being invoked
with PKG_PHASE set to the proper value.
Also, remove the variables cache file that bsd.wrapper.mk was generating
since the new makevars.mk files provide the same functionality at a
higher level. Change all WRAPPER_VARS definitions that were used by
the old wrapper-phase cache file into MAKE_VARS definitions.
package because PKG_OPTION.<pkg> could contain negative options, which
are never part of PKG_OPTIONS. Instead, use the show-var target to
display the value. We cache it in WRAPPER_VARS and in MAKE_FLAGS to
prevent reinvoking the show-var target recursively.
And always is defined as share/examples/rc.d
which was the default before.
This rc.d scripts are not automatically added to PLISTs now also.
So add to each corresponding PLIST as required.
This was discussed on tech-pkg in late January and late April.
Todo: remove the RCD_SCRIPTS_EXAMPLEDIR uses in MESSAGES and elsewhere
and remove the RCD_SCRIPTS_EXAMPLEDIR itself.
under share/examples/rc.d. The variable name already was named
RCD_SCRIPTS_EXAMPLEDIR.
This is from ideas from Greg Woods and others.
Also bumped PKGREVISION for all packages using RCD_SCRIPTS mechanism
(as requested by wiz).
libldap_r and slurpd. Patch those Makefiles (patch-aj, patch-ak) to
pass $(PTHREAD_CFLAGS) and $(PTHREAD_LDFLAGS) to the build. The
configure process correctly adds any necessary libraries, so adding
$(PTHREAD_LIBS) isn't needed. Bump the PKGREVISION since the LDAP
libraries are no longer linked against libpthread.
This fixes PR pkg/28259.
Changes from version 2.2.13 include numerous fixes for locking in the
Berkeley DB backend, SASL-encoding fixes in libldap, and many bug
fixes in slapd.
* Add a db1.builtin.mk file that detects whether DB-1.85 functionality
exists in the base system, and remove the distinction between
"native" and the other Berkeley DB packages -- we now refer to
db[1234]. This paves the way for any future databases/db1 package.
* USE_DB185 shouldn't need to be set by any packages -- its correct
value is now automatically determined by bdb.buildlink3.mk depending
on whether we explicitly request db1 or not. By default, if you
include bdb.buildlink3.mk, you want DB-1.85 functionality and
USE_DB185 defaults to "yes", but if you explicitly remove db1 from
the list of acceptable DBs, then USE_DB185 defaults to "no".
* Set BDB_LIBS to the library options needed to link against the DB
library when bdb.buildlink3.mk is included.
* We only add the DB library to the linker command automatically if
we want DB-1.85 functionality; otherwise assume that the package
configure process can figure out how to probe for the correct
headers and libraries.
Edit package Makefiles to nuke redundant settings of USE_DB185.
it is still on by default to preserve compatibility (use option "-bdb" to
disable).
While here, fix typo in CONFIGURE_ARGS that had caused the dnssrv backend
not to build; bump PKGREVISION.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
into the bsd.options.mk framework. Instead of appending to
${PKG_OPTIONS_VAR}, it appends to PKG_DEFAULT_OPTIONS. This causes
the default options to be the union of PKG_DEFAULT_OPTIONS and any
old USE_* and FOO_USE_* settings.
This fixes PR pkg/26590.
for each package can be determined by invoking:
make show-var VARNAME=PKG_OPTIONS_VAR
The old options are still supported unless the variable named in
PKG_OPTIONS_VAR is set within make(1) (usually via /etc/mk.conf).
the RCD_SCRIPTS rc.d script(s) to the PLIST.
This GENERATE_PLIST idea is part of Greg A. Woods'
PR #22954.
This helps when the RC_SCRIPTS are installed to
a different ${RCD_SCRIPTS_EXAMPLEDIR}. (Later,
the default RCD_SCRIPTS_EXAMPLEDIR will be changed
to be more clear that they are the examples.)
These patches also remove the etc/rc.d/ scripts from PLISTs
(of packages that use RCD_SCRIPTS). (This also removes
now unused references from openssh* makefiles. Note that
qmail package has not been changed yet.)
I have been doing automatic PLIST registration for RC_SCRIPTS
for over a year. Not all of these packages have been tested,
but many have been tested and used.
Somethings maybe to do:
- a few packages still manually install the rc.d scripts to
hard-coded etc/rc.d. These need to be fixed.
- maybe remove from mk/${OPSYS}.pkg.dist mtree specifications too.
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.
the PKGREVISION. The fix was provided by Nick Hudson and modifies
the libldap initialization routine to call the GNU pth initialization
routine before using it. The resulting slapd/slurpd passes the test
suite included in the OpenLDAP sources. This fixes PR 24473.
support. The slapd built without threads passes all of its test except
for the replication test, which is because slurpd is not built (slurpd
requires threads). Bump the PKGREVISION.
This is in response to PR 24473. As a debugging aid in case someone
attempts to really fix the PR, if _OPENLDAP_REQUIRE_THREADS is "yes",
then openldap will forcibly build using GNU pth if native threads
aren't available.
20031217. Changes from version 2.1.22 include many bug fixes including
memory leaks, adding lutil_passwd extensions, and adding config file
keywords to control the replication daemon.
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives
a value only once due to the multiple inclusion protection in the
bulldlink3.mk files. In the case where a package includes several
buildlink3.mk files that each want a slightly different version of another
dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the
strictest <pkg> dependency to be matched.
problem noted on current-users by Murray Armfield.
The problem was: "Just try executing slapindex to get quite a verbose
libpthread invalid mutex message. slapd still core dumps on
shutdown."
Thanks to Christian for fixing this.
used instead of PKG_SYSCONFDIR. The openldap build defines a
ldap_subdir (as /openldap) which is automatically appended (unless
using --without-subdir which also breaks share and libexec). (Okay'd
by wiz.)
This release contains the following major enhancements:
* Transactional backend
* Improved Unicode handling
* Improved DN handlng
* Improved Referral handling
* SASL authentication/authorization mapping
* SASL in-directory storage of authentication secrets
* Enhanced administrative limits/access controls
* Meta backend (experimental)
* Monitor backend (experimental)
* Virtual "glue" backend (experimental)
* LDAP C++ API
* Updated LDAP C and TCL APIs
* LDAPv3 extensions, including:
- Enhanced Language Tag/Range Support
- 'Who am i?' Extended Operation
- 'Matched Values' Control
- 'NOOP' Control
plus lots of bug fixes.
Update (to 2.1.20) from Juan RP in PR pkg/21682 with some tidy up and
update to 2.1.22 by Marc Recht and me.
Also closes PR pkg/21217 by Jean-Luc Wasmer and PR pkg/20972 by Jeremy
Reed.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
buildlink2.mk files back into the main trunk. This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
which the basesrc USE_KERBEROS variable. Discussed on packages@
This fixes PR#17182 from Takahiro Kambe. The problem was pointed out by
FUKAUMI Naoki on a Japanese NetBSD mailing list.
Fixes part of pkg/15794 by Bernd Ernesti <bernd@arresum.inka.de>. This
wasn't actually a buildlink problem, but buildlink is flexible enough to
provide a solution.
building this package _without_ threads support if the threads are non-
native. While the package does build correctly using GNU pth, and the
clients run correctly, the slapd server isn't able to pass "make test".
When built without threads support, only the replication test fails, I
think because slurpd isn't built.
automatically appended by the build to "sysconfdir", so change setting
from ?= to =. Also remove the MAKE_FLAGS line that was supposed to do the
same thing as the previous change, but was apparently not working.
* Use pthread.buildlink.mk as OpenLDAP now builds correctly with GNU pth for
a pthread implementation. This allows slurpd to be built on all platforms.
* Use tcp_wrapper/buildlink.mk and always enable the use of TCP wrappers.
* Use the general INSTALL scripts to deal with the config files and
directories needed by this package. This now works correctly whether we
build from source or if we install via a binary package.
* Honor PKG_SYSCONFDIR.
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
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.
Changes included in OpenLDAP 1.2.11
CVS Tag: OPENLDAP_REL_ENG_1_2_11
Fixed /tmp races in ud, ldapsearch, ldbmtest and slurpd
Fixed error in slurpd's filecheck function
Fixed slurpd to properly restart in oneshot mode, and to report a
non-zero number of items to process with only one replica.
Fixed strdup use in libldap/request.c
Fixed NULL prefix bug in libldap/ufn.c
Fixed slapd_shutdown extern reference bug (ITS#527)
Fixed ACL groups member matching
Raise MAXDBCACHE to 128 (ITS#512)
Fixed slapd client_addr crash (ITS#579)
Fixed back-shell realloc bug (ITS#506)
Build Environment
Update res_search detection
Detect and use getpassphrase() and getpass()
Unset CDPATH
Change GNU Pth to enable soft syscalls
Changed RCPT cmds symbol to avoid link conflict (ITS#526)
Changed LDBM directory to $localstatedir/openldap-ldbm
Changes included in OpenLDAP 1.2.10
CVS Tag: OPENLDAP_REL_ENG_1_2_10
Add slapd -DSLAPD_UNDEFINED_OC_IS_NOT_EXTENSIBLE macro disable
undefined object classes implies extensible object behavior.
Add GNU Pth support (ITS#453)
Fixed -lldap Kerberos bind to work ldap_init() (ITS#426)
Changed -lldap to ignore space in filter: ( !(foo=bar)) (ITS#459)
Fixed multiple password support (ITS#464)
Fixed -lldap chasing of delete referrals (ITS#471)
Fixed back-ldbm/bind invalid credentials vs no such object bug
Fixed slapd str2entry uninitialized variable bug (ITS#482)
Fixed back-ldbm/modify mutlivalued indexing bug
Fixed -llber seqorset buffer overrun bug (ITS#479)
Build Environment
Do not list unsupported LDBM API option NDBM
Allow DEFAULT_DB_PAGE_SIZE to be defined at build time
Changes included in OpenLDAP 1.2.9
CVS Tag: OPENLDAP_REL_ENG_1_2_9
Fixed lutil/password bogus crypt password bug (ITS#423)
Fixed slapd/back-ldbm indexing bug (ITS#402)
Added UD support for creators/modifiers attributes (ITS#422)
Added modify* attributes on add to workaround client issue (ITS#424)
Build Environment
Rebuild configure
Added support for db1 vs db2 with glibc 2.1
Removed TCPD and RLOOKUP interdependecy (ITS#419)
Changes included in OpenLDAP 1.2.8
CVS Tag: OPENLDAP_REL_ENG_1_2_8
Fixed slapd lint
Fixed slapd li_nextid_file uninitialized bug
Fixed -lldap templates y2k bug (ITS#294)
Fixed ldbm db_appinit to use u_int32_t instead of int (ITS#295)
Fixed lber/io.c Cray T90 specific pointer arithmetic problem (ITS#325)
Fixed s_addr dereferencing (ITS#340)
Fixed ud strstr crash (ITS#328)
Fixed back-ldbm presence index bug (ITS#394)
Fixed -lthread rdwr 2-writer bug (ITS#395)
Added TCP_NODELAY support
Changed slapd to apply ACL to lastmod attributes
Changed slapd.conf default referral
Changed slapd delete stats log message for consistency
Disable DN subtree indexing
Build Environment
Support using short as LDAP_INT4
Documentation
Reference Quick Start Guide in README and INSTALL
Update slapd.conf to reflect Quick Start Guide example
ldappasswd(1) fix -c vs -H typo (ITS#154)
Added warning about cross environment portability
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.
package (pointed out by David Brownlee). We also need to remove -lwrap
from the tools directory libraries - hence the post-configure target to
make sure SLAPD_LIBS is empty in servers/slapd/tools/Makefile.
Quick guide for compiling packages:
- set KERBEROS=4 or KERBEROS=5 in /etc/mk.conf
Quick guide for configuring Kerberos support in a package Makefile:
- test for KERBEROS value and enable the appropriate version with
CONFIGURE_ARGS or other means and set USE_KERBEROS=yes
- make sure to disable Kerberos support otherwise (especially if
using configure, which might automatically detect it)
- BUILD_DEFS and RESTRICTED are set automatically in bsd.pkg.mk
when USE_KERBEROS=yes is set