REPLACE_INTERPRETER takes place before the portability check. Shell
scripts that will use bash anyway do not need to be checked for
portability problems.
has not been supported by pkgsrc up to now.
This changes adds a PLIST macro @imake-man that expands to zero, one or
two lines, depending on the value of IMAKE_MANINSTALL. Packages must
explicitly have the macro in the PLIST files to use this feature. Since
currently no package has that, this change doesn't affect anything at
all by now.
TODO: The platforms' definitions for IMAKE_MANINSTALL and the other
definitions like IMAKE_MAN_SUFFIX need to be adjusted.
checked, which is handled the same by every implementation of test(1).
Removed the comment saying that absolute directories can be handled. It
doesn't work.
This works very straightfoward; create set of symbolic links of *.el / *.elc
files under ${BUILDLINK_DIR}/share/emacs. At configure and build stage,
emacs / xemacs binaries run with the EMACSLOADPATH pointed to there. This
should work because those EmacsLisp packages assume the Emacs / XEmacs program
running at build time and that running after installation are identical and
the task looking for other *.el / *.elc files is Emacs / XEmacs's business.
I have tested only Emacs 21 and Emacs 22. XEmacs should work ... at least
XEmacs supports EMACSLOADPATH too if grep worked correctly.
While here change the following:
* Provide {FOR,NOTFOR}_emacs_{x,nox} switches to be used in PLIST.
* Add the xemacs214nox entry.
* Clean up "leim" handling code; avoid .if ... .endif as far as possible.
as reported in PR 29620 and compatible version have unresolved security issues.
Drop dependency on ns-flash and remove NS_NO_FLASH variable.
Bump PKGREVISION of navigator/communicator.
then automatically generate a PLIST that says "${PKGNAME} has no files".
* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
and no PLIST files exist, then fail during the package build with
PKG_FAIL_REASON.
* Remove "intentionally empty" PLISTs again.
Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:
PLIST_SRC= # empty
that directly manipulate empty PLISTs.
Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
(new) UNPRIVILEGED_GROUPS list.
In addition, the value of UNPRIVILEGED_GROUPS is defaulted to all the
groups the installing user is a member of, in a similar mold to
UNPRIVILEGED_GROUP and UNPRIVILEGED_USER.
This allows non-root installations of packages that have special group
requirements but no special user requirements, so long as the installation
user has been given the necessary group membership.
Raised on tech-pkg @ 2007/10/14.
usually the same on the supported platforms.
The reason for having duplicate code in these files is to make it easier
to port pkgsrc to a new platform: You just have to copy one of the
existing platform files and edit the values in it. With some values
factored out, you would have to look at one more file.
Pointed out by agc@.
platforms, mainly because it wouldn't have made sense to document the
variables in one of those files, but they need to be documented
somewhere.
Added the file defaults.mk, which now serves as the reference document
which provides useful default values and _explains_ the variables.
using the += operator, not the simple = operator, in mk.conf. That way
we can mark packages as having open source licenses without disturbing
the users.
separating LOWER_OPSYS and LOWER_OPSYS_VERSUFFIX, since numbers are now
removed from LOWER_OPSYS when forming MACHINE_GNU_PLATFORM.
Fix the remaining to platforms: Interix and IRIX.
into ${LOWER_OPSYS_VERSUFFIX}.
When assigning GNU_MACHINE_PLATFORM, strip numerical characters from
LOWER_OPSYS. (final component is eg. osf5.1 not osf15.1)
installed by devel/ccache can be used. This is especially important for
cross-builds.
Documented IGNORE_CCACHE.
Fixed the double use of the directory ${WRKDIR}/.ccache, which was used
both as wrapper directory and as cache directory.
Remember .include "foo.mk" is looked for (first) in the directory that
contains the makefile being processed (like in C), so remove all the
${.PARSEDIR} and ../ sequences that just cause grief.
can be disabled to remove the behavior again.
In spite of UW's "recommendations" against enabling this, it should be up
to the sysadmin and user whether to use the rope to build a bridge or
hang him/herself. PC-Pine has it enabled by default; there's no reason
besides FUD to make the Un*x build any different.
the application if it uses dlopen().
This change was triggered by the longstanding bug that mod_perl (due to
perl itself) was built with threads but apache was not, thus leading
to incompatibility between apache and mod_perl.
Whether NetBSD 4 needs to be added as well is still an open question.
Hey Joerg, since you made the non-modular Xorg obsolete, you could have
at least changed the comments in this file, reflecting the change to
modular Xorg.
Now, please document here how these files are really meant to be used,
since you know it better than me.
tar up, instead of PKGBASE.
This enables modifying that file to have a package that isn't
automatically found be the replace target, e.g., "echo libglade2-2.6.2
> work/.replace_oldname" after make replace fails to find a package to
tar up when doing make replace in libglade.
dependency (bootstrap, build, full) is printed.
When building a package that pulls in the basic tools as dependencies,
it is good to know whether these are build or full dependencies, so the
additional information is useful.
twice: First against the required package pattern (PKGNAME_REQD), and
then against the current version (PKGNAME). When only a binary package
for an old (but sufficient) version of a package was available, that
version had been installed and the current version been built
afterwards, which was unnecessary.
This problem was mentioned in PR 36146, and is hereby fixed.
By the way, the code was really ugly: The messages that had been printed
didn't reflect what the code was actually doing. This is fixed, too.
for several years now, since the directories in the -I... and -L...
options usually don't need quoting. But when the -D... option was
processed using the same code, the bug had become visible.
log file in a format that allows copy-and-paste into a shell. Before, it
wasn't possible to see from the log file whether a space was a delimiter
or part of a shell word.
in the definition of INSTALLATION_DIRS, where a short man/ would be much
shorter. Since we already have that man-transforming magic in some other
places of pkgsrc, it's also here.
While here, documented INSTALLATION_DIRS and
INSTALLATION_DIRS_FROM_PLIST so they are found by "bmake help".
# XXX Accumulate commit message during each operation, so that a final
# commit operation will have a sensible message with all of the
# previous operations.
# XXX Fail if uid is 0, or perhaps != CVS meta files owner, to catch
# the case of invoking these targets as root.
and to support the "inet6" option instead.
Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files. Replace:
BUILD_DEFS+= USE_INET6
with
BUILD_DEFS+= IPV6_READY
and teach the README-generation tools to look for that instead.
This nukes USE_INET6 from pkgsrc proper. We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
automatically supply missing "basic" headers and libraries from an
older system, e.g. IRIX 5.x or Interix or AIX, etc.
Example usage:
USE_FEATURES+= snprintf glob regex
For now, we just pull in libnbcompat to supply the missing bits.
PATCHFILES nor DISTFILES, make fetch would complain about an unbuildable
dependency. Fix this by explicitly checking that _ALLFILES is not empty.
Reported by Sean Boudreau.
target by pkgsrc. This new target computes checksums only up until
the extract phase is complete.
The "checksum" target is now a target that can always be run by the
user at any time, regardless of the presence of the work directory.
These changes were proposed in PR pkg/36603 by Robert Elz.
README.html generation are broken. It will not find vulnerabilities in any
packages that have complex names in the pkg-vulnerabilties file.
e.g. php{4,5}-perl and sun-{jdk,jre}15
Post pkg_install-20070714 this is now fixed and only currently known
vulnerabilities are shown in the generated README.html files for packages.
You will need to update to pkg_install>=20070714 to get this fix.
provided in the distinfo file for those distfiles, rather than checking
specifically for the ones listed in _DIGEST_ALGORITHMS. If a distinfo
file actually provides checksums for other algorithms, e.g. TIGER,
then go ahead and verify them too.
run now at any time up until the "extract" phase completes, and the
"checksum" target no longer keeps a state (cookie) file.
From the checksum.mk file comments:
We do not actually wish to create a cookie file for the completion
of the checksum phase because we want to be able to detect if
any of the files have changed right up until the distfiles are
extracted. Therefore, we use the presence of the cookie file
from the "extract" phase to determine whether we need to continue
to verify checksums.
This addresses PR pkg/36262 and PR pkg/36603.
of an emulated operating system. Instead of proliferating things like
SUSE_VERSION_REQD, NETBSD_VERSION_REQD, SOLARIS_VERSION_REQD, etc., a
package can say:
EMUL_REQD= suse>=9.1 netbsd>=2.0 solaris>=10
all in one, succinct line.
a separate emulator-opsys.mk file.
The emulator-opsys.mk file defines EMUL_DISTRO and the various *EMUL*DIR*
variables, as well as any opsys-specific variables.
Include this file within compat_netbsd/Makefile.common so that the
*EXEC_FMT variables (defined by the compat*/emulator.mk files) are
defined. This fixes the build of compat* packages.
XXX emulator-opsys.mk will go away in the near future as we do more
XXX appropriate information hiding.
matches the native operating system. Use it in place of checking
whether EMUL_DISTRO matches "native-*" as EMUL_DISTRO is no longer
defined after bsd.prefs.mk is included.
This should fix PR pkg/36823 by Robert Elz.
pkgsrc/emulator/compat* and pkgsrc/emulator/netbsd32_compat* packages
to provide the necessary shared libraries to run dynamically linked
NetBSD binaries from the days of yore.
* Add some additional compat* packages for completeness:
compat15, compat20, compat30
* Modify the compat* packages so that "compatNM" only provides files
that aren't in "NetBSD-N.(M+1)". For example, compat12 only provides
files that don't exist in NetBSD-1.3.x, compat13 only provides files
that don't exist in NetBSD-1.4.x, etc.
As a result, if you are running NetBSD-3.0/alpha and want to run a
1.3 dynamically linked binary, there is an automatic dependency
chain that causes the following packages to be installed:
compat13, compat14, compat15, compat16, compat20
There are some deviations from this dependency chain on platforms
that have changed executable formats, e.g. i386, m68, sparc, etc.
However, in general pkgsrc will require that you have the necessary
COMPAT_* options in your kernel to match the installed compat*
packages. This restriction is an artificial one imposed by pkgsrc,
but allows for a single set of distfiles to be used on all versions
of NetBSD.
* Provide compat* package support for every supported architecture
of NetBSD. Verily, it is now possible to run 1.2 binaries on
NetBSD-1.5.3/pc532 by installing the compat12 package from pkgsrc.
Rejoice, one and all!
* The netbsd32_compat* packages mirror the corresponding compat*
packages for use by sparc64 and x86_64 to allow running 32-bit
binaries with COMPAT_NETBSD32 kernel support. The "extras" packages
supply the additional shared libraries from the corresponding release
of NetBSD so that the set of files in /emul/netbsd32 will be complete.
* pkgsrc/emulators/compat_netbsd contains infrastructure files shared
by all of the compat* packages.
check-shlibs. This allows more stricter detection (e.g. it checks
whether the package links against a build dependency). It also checks
whether the rpath contains wrkdir references (like qt3-libs). It depends
on readelf and is only available for ELF systems for now. To test it,
add USE_CHECK_SHLIBS_ELF to mk.conf.
Supported-by: Google SoC 2007
at the very least with AIX 5.3 directly and for older, wrapper should
take care.
Provide some more sane defaults for XLC and bail out explicitly if
XLCBASE can't be determined.
a distfile or a pkgsrc patch. It's simple, cleaner, less magic, etc.
(duh!).
While here, I notice that _CHECKSUM_CMD was already being defined in
mk/checksum/checksum.mk (as it should be), so update the definition
from mk/patch/patch.mk and remove it from patch.mk.
- check-perms.mk was not DESTDIR aware, prefix files before passing it
to the directory extraction
- PKG_FILELIST_CMD was calling pkg_info, which is fine for normal
installation, but fails of course for DESTDIR. Just drop the @ lines
from ${_DEPENDS_PLIST} and use that.
- To make he former work, ensure that _flavor-generate-metadata is part
of _INSTALL_ALL_TARGETS. It was normally a dependency of
_flavor-register, but that is skipped for DESTDIR.
- Remove ${_DEPENDS_PLIST} when running install-clean.
instead only remove the files generated by _flavor-generate-metadata.
This should preserve the +INSTALL and +DEINSTALL scripts (which are
created during the "build" phase") across a "make update" or a "make
deinstall".
first stripping them of NetBSD RCS ID tags. Use the checksum script
in the patch module to verify patch checksums instead of hand-coding
a miniature version of the checksum script in the do-pkgsrc-patches
target.
the makefile and simply handle it in the shell code. This allows for
appending to PKG_OPTIONS_DEPRECATED_WARNINGS in a makefile even after
bsd.options.mk is included.