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.
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).
under ${PREFIX} instead of being an absolute path.
So fix the references using RCD_SCRIPTS_EXAMPLEDIR to be
${PREFIX}/${RCD_SCRIPTS_EXAMPLEDIR}.
This should have no changes to use before.
Please note that the MESSAGE files in most cases are wrong in the
first place. We have automated mechanisms and could have an automated
message for explaining rc.d script usage. (This is something to do!)
which installs to ${RCD_SCRIPTS_EXAMPLEDIR}. But the MESSAGE
referred to wrong hard-coded location if the RCD_SCRIPTS_EXAMPLEDIR
was not the default. So use RCD_SCRIPTS_EXAMPLEDIR instead.
PKGREVISION not bumped because if someone had changed
RCD_SCRIPTS_EXAMPLEDIR before recent change of autoregistration
of rc.d script in PLIST, then it could not have been packaged
in first place.
Note that this commit does not imply that the MESSAGE is correct.
In some cases, the MESSAGE is clearly wrong such as suggesting
running the rc.d script from the example directory (which will work
although).
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.
- correct usage of PREFIX in MESSAGE
- sort PLIST
Changes:
1.6:
====
- Fixed ttSyncAll only looking at fontdir subdirectories
- Added more robust checking for cachedir
- Removed a constant path size limitation (for the Hurd)
- Fixed a typo in "syncing"
- Minor indentation fixes
- Started the transition to using C++ strings
- Changed the libfstt API:
Fixed multiple memory leakages
The member getString doesn't need the conversion buffer anymore
- Fixed the output format of --gslist
1.5.1:
======
- Fixed a possible security problem by checking the byteorder magic in
the connection handshake:
bugtraq id 8255
1.5:
====
- Fixed multiple buffer overflows in the network packet handling code:
CAN-2003-0581
- New encoding: iso8859-14
- Moved hardcoded dir locations to configure space
- Mkdir the fontdir and cachedir in the make install target
- Improve error messages when cachedir does not exist
- Remove --gslist dependency on order of arguments
- Replaced dprintfN with a debug function
- Cleaned the debugging output
- Indentation and minor source cosmetic changes
- Updated to gettext 0.12.1, version 0.11.5 was buggy
- Added a System V init file example
- Cleaned the examples in doc/examples: font.properties, test.sh
- Updated the documentation: doc/FAQ, INSTALL, THANKS, TODO, xfstt.1x
Changes:
- added MESSAGE file with post-install instructions
- minor cleanups
1.4:
====
- Auto* tools
- Initial i18n support (not used yet)
- Fixed slow down with some programs using FS_ListFontsWithXInfo
- Fixed childs unlinking unix socket when father uid == childs uid
- Added an option to specify pidfile location
- Added endpwent() to prevent leaking one fd
- Changed usage output
1.3.1:
======
- Added --cache description to man page
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>.
Update to xfstt-1.3.
Significant changes since 1.2:
* Fixed unix socket and its dir permissions
* Added full path to unix socket address and use sockaddr_un instead
* Added support for --notcp
* Removed hard coded limits on path length (needed by the Hurd)
Significant changes since 1.1:
* Fixes bug that broke xfstt when using unix
* domain sockets under linux 2.4
* Fixed bug in realloc() use.
* Added Patch for Boxdrawing glyphs
* New Encodings: iso8859_11 (latin/Thai) and koi8_u
* Now compiles properly under newer versions of gcc
Significant changes since 1.2:
* Fixed unix socket and its dir permissions
* Added full path to unix socket address and use sockaddr_un instead
* Added support for --notcp
* Removed hard coded limits on path length (needed by the Hurd)
Significant changes since 1.1:
* Fixes bug that broke xfstt when using unix
* domain sockets under linux 2.4
* Fixed bug in realloc() use.
* Added Patch for Boxdrawing glyphs
* New Encodings: iso8859_11 (latin/Thai) and koi8_u
* Now compiles properly under newer versions of gcc
pkgsrc. Instead, a new variable PKGREVISION is invented that can get
bumped independent of DISTNAME and PKGNAME.
Example #1:
DISTNAME= foo-X.Y
PKGREVISION= Z
=> PKGNAME= foo-X.YnbZ
Example #2:
DISTNAME= barthing-X.Y
PKGNAME= bar-X.Y
PKGREVISION= Z
=> PKGNAME= bar=X.YnbZ (!)
On subsequent changes, only PKGREVISION needs to be bumped, no more risk
of getting DISTNAME changed accidentally.
* Add rc.d startup script
* Update pkg name to xfstt-1.1nb1
Code based on FreeBSD port,
submitted by Martti Kuparinen <martti.kuparinen@iki.fi> in PR 12201