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
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).
Changes:
* Fixes for LWP-2.0
* Reduced size of the medium packets to 1500.
* Explicitly clear the EchoTimestamp when we receive an out-of-order
SFTP data packet to avoid sending a stale timestamp value.
* Make sure we retransmit at least one packet once we hit EOF so that we
can continue to make progress.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
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".
changes (partial):
- Updated for current autoconf/gcc build environment.
- Some cleanups for the code generated by the rp2gen stub generator.
- Hopefully improved 'timeout' behaviour on asynchronous links (ADSL).
Fixes memory corruptions that typically hit during reintegration, andperformance
problems when writing data to the servers.
- Now internally supports >2GB files, however we're not really using
this new capability in Coda yet.
- Re-added a lost lseek that was causing truncated backup files.
Small files that got piggybacked on the outgoing RPC2 packets were
only sent to one server in a replicated group. The operation on the
other servers fails and the client disconnected. The next time the
servers are accessed this inconsistency was detected and
automatically resolved. But doing it right in the first place is
somewhat more efficient and reliable.
The RPC2 random number generator was not initialized correctly. Not
sure how much effect this had on connection handling and other
places that liked random numbers to be unique.
Removed MultiRPC pool allocator, now we can have more than 8 concurrent RPC
operations. And because the per-user limit got removed in Coda-6.0.2, this is
more likely to happen.
A packet with random data could easily trigger an assertion in the MultiRPC
decoding. Now we simply drop it and avoid the possible DoS.
IPv6 support, it is just waiting for the right flag from userspace. As a
result the 1.19 API is binary compatible for older clients and servers.
Removed sftp listener and timeout threads. We always run what was previously
called 'masqueraded'. This works fine as long as our peer uses rpc2-1.9
or later.
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.
* Fixed crash when an expired connection receives a NAK.
* Increased lower bound on retransmission time to 300ms.
* Removed Linux specific optimization in processing time calculation which
made RPC2 clients assume a server can respond faster than it actually does.
* Fixed the very infrequent SFTP_SendResponse crash again, hopefully for real
this time.
* A non-masqueraded rpc2 client wouldn't send out it's SFTP packets through
the rpc2 socket when talkin to a masqueraded rpc2-server. This broke
backfetches through a firewall.
* Added delayed acks, when an RPC2 operation on the server is taking more than
200ms, an unsolicited RPC2_BUSY is sent back to the client to avoid
unnecessary retransmissions of the request.
* Stricter prototyping for callback functions.
* Fixed the very infrequent SFTP_SendResponse crash.
* Keeping track of current fd offset in sftp to allow non-multirpc transfers
from/to a non-seekable fd (eg. stdout).
BUILDLINK_PREFIX.<pkgname>. This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed. Idea by Alistair Crooks <agc@pkgsrc.org>.
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0. This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
CXXFLAGS, and LDFLAGS by the buildlink.mk files so remove the extra
definitions to add them from the package Makefiles. As advised by the
bsd.buildlink.mk file, also ensure that the buildlink.mk files are
included prior to defining any package-specific CFLAGS/LDFLAGS to ensure
that the buildlink directories are at the head of the compiler search
paths.
linked from a particular package, and add a pre-configure target to
the buildlink.mk file to more painlessly use buildlink.mk files. A
${BUILDLINK_TARGETS} variable still exists in case a package _must_
define NO_CONFIGURE.
${BUILDLINK_INCDIR} and ${BUILDLINK_LIBDIR}, to be used by other packages.
* Use buildlink.mk files to get dependencies and to prevent unintended
linking against installed libraries or finding installed headers except
for those that are explicitly linked into ${BUILDLINK_INCDIR} and
${BUILDLINK_LIBDIR}.
* Don't prototype history functions directly, but use
<readline/history.h> to pull them in. This allows us to use libedit's
readline emulation.
* Change from USE_PERL5 to a build dependency on perl -- it's only used to
generate a header file during the build.
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.