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.
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
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).
- update to mDNSResponder core 58-8-1
- compile out heap debugging when NDEBUG macro is set during compilation
- errors encountered when parsing conf file are logged
- fix various unsafe sprintf calls (contributed by
David Young dyoung@pobox.com)
- compiles cleanly using cygwin
- support for compiling under OpenBSD
- error in docs regarding swapped parameters to sw_discovery_publish_reply
backslashes anymore. A single backslash is enough. Changed the
definition in all affected packages. For those that are not caught, an
additional check is placed into bsd.pkginstall.mk.
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables. Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.
For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
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.
Version 0.9.10 (Jan 28 2005)
* FIX: use config.h in mDNSClientAPI.h to determine which headers to include
* FIX: don't clobber CFLAGS in Makefile.am files
Version 0.9.9 (Jan 27 2005)
* FIX: use memmove rather than memcpy
* FIX: use memcmp to compare oids, rather than strcmp (contributed by
John Wiseman jjwiseman@yahoo.com)
* FIX: sw_autoip_network_interface_make_initial_ip_address() uses
uninitialized m_mac_addr (contributed by Andrea Campi
andrea+howl@webcom.it)
* FIX: include stdint.h and use standard types in mDNSClientAPI.h
(contributed by Jeff Waugh jdub@perkypants.com)
* FIX: make posix_interface.c easier to port other OSes (contributed by
Andrea Campi andrea+how@webcom.it)
* FIX: check interface status before looking at link (contributed by
Andrea Campi andrea+howl@webcom.it)
* FIX: builddir != srcdir problem (contributed by Thomas Fitzsimmons
fitzsim@redhat.com)
* FIX: memory leaks on cleanup
* FIX: mDNSResponder, nifd, autoipd shouldn't be linked statically
- FIX: shared library naming scheme included the howl version number
(jdub@perkypants.org)
- FIX: pkgconfig include pathing included the howl version number
(eloli@hotmail.com)
- FIX: howl_config.h was being included when compiling apps that use howl
(sebastien.estienne@gmail.com)
- FIX: publish sample had reversed callback parameters
(sebastien.estienne@gmail.com)
- nicer printing of text records in browse example
(sebastien.estienne@gmail.com)
Additional pkgsrc changes by me:
* Create a "howl" user and group.
* Add rc.d script.
* Format DESCR.
- FIX: network interface index was not being initialized correctly on non-Linux platforms
- FIX: sw_mdns_stub_init() was not initializing m_pending_ops
- FIX: autoipd was not handling return code from fcntl correctly
- FIX: portability patches from GNOME team
- integration of patches necessary to build and run on Solaris
- Separate Apple code into separate mDNSResponder library.
- Add sw_discovery_query_record() to discovery API to query individual resource records
- Support for discovery operations on specific network interfaces
- Support for 64 bit Linux
- FIX: client side memory leak when cancelling discovery operations
- FIX: FreeBSD mDNSResponder didn't work with -a switch
- FIX: mDNSResponder would occasionally crash when waking from sleep on Windows
- FIX: mDNSResponder code for parsing config files had buffer overflow
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".
Howl is a cross-platform implementation of the Zeroconf networking standard.
Branded as Rendezvous tm by Apple Computer, Inc., Zeroconf standardizes
networking protocols for delivering hassle-free ad-hoc networking, service
discovery, and IP configuration.
Howl version 0.6 contains both runtime components, which deliver the
Zeroconf/Rendezvous functionality, and an SDK for embedding Zeroconf/Rendezvous
functionality in your applications.