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).
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
all the fields used by fam. It's easier to use the statfs interface for
now.
Don't explicitly link against libstdc++, it is the job of the C++
compiler to do that.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
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.
time. For example, simply running 'nautilus /' could lock up famd in pipewr
status. To fix:
- Make the struct devino's sorting function work properly; otherwise the
map behaves incorrectly.
- Handle kqueue errors if they are returned as an entry in the events table
(with flags containing EV_ERROR).
While here, add more debugging code that helped me catch this issue (some
extra messages and assertions).
Also reenable assertions (except on Darwin as, according to version 1.14 of
the Makefile, they cause problems).
Not bumping revision because kqueue support is still off by default.
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).
+ Use the mnttab(4) interface instead of mntent.
+ C++ syntax cleanups to appease the SunPro compiler.
+ Use MAXPATHLEN instead of NAME_MAX which can be unimplemented on strict
POSIX systems.
+ Use POSIX inttypes.h if BSD types are not available.
+ RPC includes and C++ namespace fixes.
+ Use dirent(3) instead of older sys/dir.h interface.
+ Avoid `sun' namespace collision.
Patch based on the work of Robert Lillack and others, described in
http://mail-index.netbsd.org/tech-pkg/2004/08/20/0005.html and tested with
SunPro and gcc.
directories in "real time", without having to periodically poll(2) for them
after several seconds. This improves the responsiveness of applications
using famd (specially GNOME) when changes to files occur from the "outside"
(they are notified from changes immediately), or even from the application
itself (for example, have you ever tried to rename several files from
Nautilus? just a PITA).
To enable kqueue, you have to pass the 'kqueue' option to the package.
I'm not enabling it by default because it needs testing (but it should be
enabled in a future). Furthermore, I'd like to send these patches to the
FAM developers for comments too. And a review from somebody knowing kqueue
could be good! (this is the first time I use the kqueue interface, so I'm
not sure if everything is right).
A description on how this works can be found in the files/IMonKQueue.c++
file. Note that, due to FAM's design, the easiest way to do this change
is to "emulate" imon functionality.
While here, add an rc.d script for famd, in case the user prefers to run
it at system startup instead of from inetd (I created it while developing
the kqueue functionality, so it's a good moment to add it). Adjust the
MESSAGE accordingly.
Bump PKGREVISION to 4.
of mounted filesystems in a local variable that was lost between calls to
the emulated getmntinfo function.
I'm not sure if this fixes any visible problem, but it probably should.
The code was randomly reading from memory before (running with debugging
enabled exposed the problem, for example).
Bump PKGREVISION to 3.
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".
of /tmp! If you have been using GNOME, you may want to 'rm -f /.fam*' to
clean them up.
The problem is caused by two different issues, related to a call to tempnam:
- The code uses a HAVE_UNSETENV define to check if the unsetenv function
is available; however, the configure script does not check for it, so
unsetenv is never used. Fix the configure script to check for unsetenv.
- If unsetenv is not available, it does putenv("TMPDIR=") before calling
tempnam. The code expects that this call *unsets* the variable from the
environment (which happens in Linux), but instead it is *set* to an empty
value, causing the creation of files in the root directory. Fix this by
explicitly setting TMPDIR to /tmp.
Bump PKGREVISION to 1.
- PR pkg/23017
- PR pkg/23495
- PR pkg/23496
- PR pkg/24578
The patches for 23017 and 24578 were provided by reed@. Although rh@
suspended PR 23017 saying that pkgsrc does not support installation to
/usr, this still needs to be fixed because the same problem occurs
even when LOCALBASE != /usr.
Changes since 2.6.10:
Changed NOGROUP usage in src/Cred.c++ to -1 as NOGROUP is not defined
in IRIX.
(mraymond@sgi.com)
removed const modifier from Scheduler.h to fix GCC 3.x build.
(wardle@sgi.com)
created new GNU autotools files:
- test whether we have IMon rather than testing OS.
- test whether we have sockaddr length members rather than testing OS.
- install daemon in sbin rather than bin.
- install manual pages in typical GNU/Linux sections.
- rename daemon to famd.
- rename fam source directory to src.
- rename libfam source directory to lib.
- remove editconf and util subdirectory.
- remove rpm target and build subdirectory.
- remove support target and subdirectory.
[wardle@sgi.com] (wardle@sgi.com)
fixed warnings about typenames in BTree.h.
(wardle@sgi.com)