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.
that these directories will be conditionally removed (based on reference
counts), regardless of the value of PKG_CONFIG. Bump the PKGREVISION
for packages that were modified as a result.
REQD_FILES, REQD_FILES_PERMS, REQD_FILES_MODE
REQD_DIRS, REQD_DIRS_PERMS
These are the same as the CONF_* variables, except the files and
directories listed in REQD_* are always copied over, created or removed
(taking into account if there are user modifications from the originals,
etc.) regardless of the value of PKG_CONFIG.
The implementation involved pushing the knowledge of PKG_CONFIG,
PKG_RCD_SCRIPTS, PKG_CREATE_USERGROUP, and PKG_REGISTER_SHELLS into
the individual helper scripts. The helper scripts are now always
invoked by the +INSTALL and +DEINSTALL scripts. The +DIRS and +FILES
script have been enhanced to understand a new "f" flag that means
"force" to ignore the value of PKG_CONFIG and PKG_RCD_SCRIPTS.
Lastly, the +FILES script has been taught a new "r" flag just for rc.d
scripts and the +RCD_SCRIPTS script is now unnecessary.
as the INSTALL and DEINSTALL scripts no longer distinguish between
the two types of files. Drop SUPPORT_FILES{,_PERMS} and modify the
packages in pkgsrc accordingly.
libdb. A (obviously braindead) system might ship with a correct libdb1 and
a frivolous libdb. I'm speaking of RedHat, of course.
But anyway, it makes more sense, libdb1 just can't be anything but a db1
library.
OK'd by jlam@.
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.
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads
bugfixes.
The major changes are in the pkgsrc infrastructure to handle Perl and
Perl modules. All pkgsrc-installed Perl modules are now installed in
"vendor" directories, and the perl interpreter has been modifed to
search for libraries in the following order: site, vendor, perl. The
Perl library is stored in a directory that is named for the Perl ABI
version associated with the Perl release, so any updates of Perl to
newer versions can be done "in-place" as long as Perl ABI version
remains the same. All Perl scripts and man pages are stored in
locations that won't conflict between site, vendor, and perl modules,
and a new utility perllink(1) now manages symlinks to those scripts
and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1.
PERL5_SITEPREFIX may be set to the prefix where local, site-specific
modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local. Note
that modules installed here are completely unmanaged by pkgsrc.
Update the buildlink and tool dependencies on perl to require perl>=5.8.7
to reflect the new locations for Perl modules and the Perl shared
library.
PIC code archive, but libtool isn't smart enough to realize it. Munge
the name within cmd-sink-libtool into something that will make libtool
recognize it as a PIC code archive. We unmunge it in arg-pp-main so
non-libtool wrappers see the right thing. This let's us use libtool
to link applications with an embedded Perl interpreter.
I feel so dirty...
outputs 2, but 0 would be expected. That means that the arguments to set
-- must never be empty. I added the necessary checks. I also used
for...done loops instead of set, as they are simpler and don't use
global variables.
function that does the same. The Solaris /bin/sh does not know this type
of substitution. Now we could only have problems with /bin/sh which do
not know functions, but as we are using shell functions in many other
places, this should be fine.
config files, directories, rc.d scripts, etc., use relative paths as
much as possible to avoid hard-coding the ${PREFIX}-location in which
the files should be installed. Where full paths are specified, if
the path is within ${PREFIX}, then automatically strip off the ${PREFIX}
part when creating the entries for the helper scripts. Also, modify
the helper scripts to understand that relative paths should be considered
to be relative to ${PKG_PREFIX}.
+SHELL.
* Turn PKG_REGISTER_SHELLS into a variable that can be set in the shell
environment so that admins can make a choice when installing from
binary packages.
* PKG_SHELL is now a list of paths, and if the path is relative, then it
is taken to be relative to ${PREFIX}. Convert packages that set
PKG_SHELL to take advantage of this new feature by changing the full
paths to the shells into relative paths.
want to be seen over and over again each time that file is included.
This stops us from appending the same bits over and over again to
CONFIGURE_ARGS and to X11_LDFLAGS.
if an untested command fails (see sh(1), "-e errexit"). Do this by
changing lines that look like:
test expression && command
to
test ! expression || command
so that the statement list always returns 0. Also, back out revision
1.38 of pkgsrc/mk/install/install and modify the if-test to branch
correctly if +USERGROUP doesn't exist.
set must be selected, requested and reviewed by wiz:
PKG_OPTIONS_NONEMPTY_SETS
This is a list of names of sets of options. At
least one option from each set must be selected.
The options in each set are listed in
PKG_OPTIONS_SET.<setname>. Options from the sets
will be automatically added to PKG_SUPPORTED_OPTIONS.
is pkgsrc-supplied. In other cases, e.g. using the system tool,
falling back toS the system tool, etc., we should still create wrappers
and set "TOOL" variables.
the linker, set _COMPILER_RPATH_FLAG accordingly. "-Wl," is removed by
the sunpro compiler wrapper where necessary.
fix comment for _LINKER_RPATH_FLAG while here.
this fixes, among other things, apache modules built with apxs.
RCD_SCRIPTS_EXAMPLEDIR has been fixed to this value for a while,
and because it ought not to be emitted by the print-PLIST target.
(Individual packages can't expect to be able to completely remove
this directory on deinstall, as it often has other packages' rc.d
scripts in it.)
too early for pkgsrc to adequately cope. In this case, imake-check.mk
was marking "imake" as a tool that was used to perform some tests.
This was causing xpkgwedge to be unnecessarily marked as a build
dependency since using imake in pkgsrc pretty much requires xpkgwedge.
However, in the case where we are running the "imake checks", we don't
need xpkgwedge around.
Solve this issue by marking all the tools in imake-check.mk with
":pkgsrc", and modify the xpkgwedge dependency test to not care about
"imake:pkgsrc".
value passed via the shell environment to the GNU configure script for
each of the "GNU" variables names for the tool. It defaults to the full
path to the real tool so that these may be safely embedded in scripts
and config files.
One exception is the value for YACC when we use bison. In that case,
pass YACC="bison -y" to the configure script so that we will invoke
bison in yacc-compatibility mode.
line (path and arguments) needed to run the real tool.
Modify TOOLS_<TOOL> to hold only the path to the real tool.
Modify falcons-eye/Makefile and qt3-libs/Makefile.common to use
TOOLS_CMDLINE_YACC instead of TOOLS_YACC to that they'll use "bison -y".
to another. This appears to fix whatever hidden bug a bit more
completely. "make show-var VARNAME=RM" in pkgsrc/x11/kdepim3 no longer
returns an empty value.
XXX I still have no idea why this "fixes" the problem. I can't seem to
XXX create a test case that exposes this problem.
Can't use an undefined value as an ARRAY reference at mk/bulk/post-build line 470.
In the case that no packages were broken, getBroken returns a hash
without the key "topten". When Perl tries to use that undefined value
as an array reference, it croaks.
tools listed in USE_TOOLS -- some of them are required by the pkgsrc
infrastructure in variable assignment statements that look like:
VARIABLE!= ${AWK} ...
These tools are actually *required* by pkgsrc to be installed on the
system before it can even work (bootstrap situation). For these tools,
only override the "TOOL" name representing the tool if we're really
using the pkgsrc version of the tool.
We accomplish this by adding a new :pkgsrc modifier that is appended
to these tools listed in USE_TOOLS. We also list these tools in
bsd.prefs.mk so that all packages pick them up fairly early on.
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.
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier
to the tool name, e.g.,
USE_TOOLS+= perl:run
Tools without modifiers or with an explicit ":build" modifier will
cause build dependencies (BUILD_DEPENDS) on those tools to be added.
This makes the notation a bit more compact.
script that will make the directory later. This fixes the problem
where it fails when doesn't have write access -- for example use
"make fetch-list" to create the shell script to use on another
system.
Thank you, Geert Hendrickx, for your feedback.
Also in a few places echo ${fetchfile:T} instead of ${fetchfile}.
(Todo: maybe should not say "not fetched" until has tried all sites.)