Commit graph

9487 commits

Author SHA1 Message Date
rillig
3924951144 Improved license detection for the guess-license target.
Before, the first file that looked like a license file was considered.
The others were completely ignored. This led to a wrong license for
cross/arm-none-eabi-gcc. To prevent these cases in the future, the license
is only guessed if there is exactly one file with a typical license name.

This approach is still naive, but at least a little more precise. Replacing
the guess-license with a determine-licenses is much more complicated
though, since each source code file may have its own license declared, and
handling all these special cases leads to very complex license expressions
(like "gnu-gpl-v3 for all files, except for special.c, which is apache-2.0
or mit). This is very hard to do correctly.
2018-01-05 07:54:39 +00:00
rillig
9ef5587f5c Improved guess-license for practical use. 2018-01-03 00:41:37 +00:00
rillig
2fb1eb3659 Added the guess-license target.
It compares the license file from the package with the available licenses
in licenses/ and shows the diff to the best match.

This will hopefully make it easier for package authors to include the
LICENSE variable in the package Makefile. This variable being missing is
one of the most frequent error messages from pkglint (4187 out of 20044).
2018-01-02 22:40:32 +00:00
rillig
1cba6ef059 Allow package developers to easily see and check the SUBST changes. 2018-01-02 21:18:48 +00:00
maya
7cfd815255 Remove traces of crypto restrictions.
ok for idea riastradh
2018-01-02 05:49:44 +00:00
maya
061d4eea80 Remove crypto restrictions from kerberos users. 2018-01-02 05:39:00 +00:00
rillig
a63e53443e Added more keywords for "make help". 2018-01-02 01:01:42 +00:00
wiz
67ea766c4c apache22: remove, it was eol'd in June 2017
Remove packages that only work with apache22.
Remove apache22 references.
2018-01-01 10:23:04 +00:00
wiz
190c209fdf mk/configure/cmake.mk: Fix typos in comments. 2017-12-27 18:56:27 +00:00
wiz
79497474b9 mk: Describe new fossil options. 2017-12-23 21:12:13 +00:00
adam
bef2acf7aa Removed unused vatnumber-suds option name 2017-12-13 14:24:30 +00:00
wiz
75e48a20b0 *: remove ftp.kddlabs.co.jp, does not provide ftp service 2017-12-03 11:09:46 +00:00
wiz
e9d95506d5 mk: Remove ftp.kddlabs.co.jp from sites, does not provide ftp service 2017-12-03 11:01:19 +00:00
joerg
4a1e17bcfc Revert gnu-config/missing, new version loops. 2017-12-03 00:10:46 +00:00
sevan
a04e51058d Sync with upstream 2017-12-01 20:48:40 +00:00
khorben
fd7a4f25a3 Also append the CFLAGS for MKPIE for c++(1)
From spz@, thanks!
2017-11-29 22:55:15 +00:00
bsiegert
25d59f2644 Add /usr/local for include and libdir on ChromeOS.
Third-party (i.e. non-pkgsrc) C toolchains (I am using chromebrew)
install to /usr/local, as that is where you can have write access.
With this, a bootstrap on ChromeOS finishes successfully.
2017-11-21 19:16:47 +00:00
leot
104096936c mk/defaults/options.description: add `oauth' PKG_OPTION
This is used by mail/nmh and probably can be useful also for other packages.
2017-11-21 10:34:32 +00:00
minskim
51312b8775 Escape whitespace in PKG_JAVA_HOME when setting JAVA_HOME 2017-11-20 17:17:50 +00:00
khorben
5535fa5372 Really use the parent sink for ld(1) 2017-11-16 02:43:51 +00:00
khorben
e6f2bb8178 Introduce a command sink for ld(1) with MKPIE
When not using cwrappers, so far PKGSRC_MKPIE was only automatically
applied when linking using gcc(1) (when enabled). This is now also the
case for packages using ld(1) to link executables.
2017-11-16 02:16:56 +00:00
khorben
0f9d009bd0 Recognize more situations where not linking executables
This is only relevant for PKGSRC_MKPIE. It partly reflects a fix that
was committed to the cwrappers for MKPIE, where the "-pie" flag was
automatically added in spite of the linker not actually creating an
executable.
2017-11-16 00:40:07 +00:00
khorben
edf994459b Obtain the MKPIE flags from the environment
This solves an issue with the command sink component of the MKPIE
wrapper for GCC, where the contents of the _MKPIE_CFLAGS.gcc and
_MKPIE_LDFLAGS.gcc variables was guessed. It is now communicated to
cmd-sink-mkpie-gcc through the environment instead.
2017-11-16 00:36:10 +00:00
khorben
38179c5558 Let the MKPIE command sink for GCC re-use the generic command sink
The cmd-sink-mkpie-gcc component for PKGSRC_MKPIE support on GCC was
lagging behind the generic one. This makes sure it cannot happen again,
by invoking the generic sink right away.
2017-11-16 00:31:47 +00:00
khorben
542893c887 Revert "Always add "-fPIC" when linking with PKGSRC_MKPIE"
It seems to break emulators/qemu.
2017-11-15 19:04:24 +00:00
khorben
32a7cecedb Look for ar(1) in $_ORIG_PATH with PKGSRC_MKREPRO
This no longer hard-codes the path to ar(1) as /usr/bin/ar. It is not
possible to use the original value of $TOOLS_PATH.ar as it is usually
not set.
2017-11-12 16:41:40 +00:00
khorben
42bd86cfb0 Add initial support for building packages reproducibly
It currently tackles two problems:
- gcc(1) hard-coding full paths in debugging information (with one
  caveat at the moment)
- ar(1) hard-coding user IDs in archive headers

This allows packages built from the same tree and options to produce
identical results bit by bit. This option should be combined with ASLR
and PKGSRC_MKPIE to avoid predictable address offsets for attackers
attempting to exploit security vulnerabilities.

This is still disabled by default, and only supports NetBSD so far.

As discussed on tech-pkg@
2017-11-12 13:34:14 +00:00
tnn
e5b08a6647 define MASTER_SITE_CRATESIO (for downloading rust crates) 2017-11-08 11:58:02 +00:00
khorben
ae8efeb19b Configure "append_executable" adequately for cwrappers
Match cwrappers' expectations and place an argument per line in the
configuration. Tokenize the arguments when writing the configuration
instead of inside cwrappers.

This should fix PKGSRC_MKPIE.
2017-11-08 03:52:50 +00:00
khorben
24807e5120 Always add "-fPIC" when linking with PKGSRC_MKPIE
This makes sure a simple "cc -o hello hello.c" will still build a valid
executable. It does not let us detect when CFLAGS or LDFLAGS are
ignored anymore, but it is legitimate for packages to expect it to work
without any additional parameter.

ld(1) does not expect "-fPIC" but it seems to be ignored by our wrappers
in this case, so no disruption is expected there.
2017-11-07 16:57:58 +00:00
bsiegert
60ec14b08f Support OS_VARIANT on Linux, support ChromeOS.
This adds a detection for Chrome OS and Chromium OS based on /etc/lsb-release,
which sets LOWER_VENDOR, like for other Linux distros. It also sets OS_VARIANT
to the value of LOWER_VENDOR, so we can have conditionals for ChromeOS. It is
missing some things that are silently assumed to be part of Linux base
systems, such as POSIX attr support, NIS and more.

ok jperkin@
2017-11-03 18:07:40 +00:00
khorben
7b8b0022a0 Typo 2017-11-01 15:29:09 +00:00
rillig
06a71adf6e Improved index generation for "make help".
The index is sorted alphabetically and mentioned in a plain "make help"
call.
2017-10-31 16:24:42 +00:00
schmonz
ab23fea1c7 Remove QMAIL_QFILTER_TMPDIR knob, no longer needed. 2017-10-28 15:56:48 +00:00
schmonz
03bd31b7e8 Move mail/nullmailer defaults to mk/defaults/mk.conf. 2017-10-28 04:46:35 +00:00
adam
f58d525a43 Added support for PostgreSQL 10.0 2017-10-23 20:34:27 +00:00
jaapb
c13eafcd7e Modified file so that opam automatically uses findlib 2017-10-17 09:42:52 +00:00
jperkin
5e65a78af3 mk/platform: Remove unsupported Darwin/SunOS linker arguments. 2017-10-10 13:57:23 +00:00
wiz
8444b9a444 Comment out debug printf. 2017-10-06 14:46:21 +00:00
jlam
2c5ffee9f0 reduce-depends.awk: Also reduce "exact match" and "any version".
Also reduce patterns of the form:

	pkg-version	(exact match)
	pkg-[0-9]*	(fnmatch pattern matching any version)
2017-10-04 04:13:12 +00:00
jlam
c47bf45c32 reduce-depends.awk: Match version strings containing tilde (~). 2017-10-04 04:13:00 +00:00
jperkin
45f7f890ca mk: Disable SSP checks on systems where it is provided in libc.
The currently implementation of SSP checks simply look for a DT_NEEDED
dependency on libssp, and doesn't yet have a way to check for it being
enabled when it is done via libc.
2017-10-03 13:18:00 +00:00
jperkin
1605dd1b43 mk: Add support for SSP checks. 2017-10-03 09:43:06 +00:00
jperkin
8dbb87e55a mk: Fix SSP detection when using pkgsrc GCC.
We can't rely on _GCC_VERSION as an accurate indicator of the GCC version,
as when using a pkgsrc GCC it will be set to 0 until the pkgsrc GCC is
available and we can detect its version.  Instead, move the logic later to
after CC_VERSION is set and use that instead.
2017-10-03 09:38:16 +00:00
schmonz
9fee74596e Document "daemontools-moresignals" option. 2017-10-03 00:36:05 +00:00
wiz
bece876d09 mk: check for installed files that are not in PLIST by default
Previously, this was only enabled with PKG_DEVELOPER.

Ok kamil@ jperkin@
2017-10-02 14:14:04 +00:00
jlam
6b7428c49d reduce-depends.awk: Avoid "delete array" statement for portability.
POSIX awk doesn't allow "delete array" to delete an entire array.
For portability, one must delete each element of the array.
2017-10-01 22:58:19 +00:00
jlam
aca4516d1d reduce-depends.awk: Avoid gensub() for portability. 2017-10-01 17:57:18 +00:00
jlam
5cd938212b reduce-depends.awk: Reduce "pkg>1" and "pkg<2" into "pkg>1<2".
Enhance the reduce-depends.awk script to reduce a larger set of
dependencies into a single dependency.  The patterns representing
intervals of version numbers (can be open-ended) are of the form:

	pkg>lower
	pkg>=lower
	pkg<upper
	pkg<=upper
	pkg>lower<upper
	pkg>lower<=upper
	pkg>=lower<upper
	pkg>=lower<=upper

These patterns are now condensed into a single dependency of the
same form.  For example, given the following patterns:

	pkg>=1.0
	pkg>2.0
	pkg<3.0
	pkg<=4.0
	pkg>=2.5<3.5

the reduced pattern becomes:

	pkg>=2.5<3.0

Add the test script used to help with refactoring and adding the
new feature to the script.

This is a mostly complete rewrite of the script; change the
license to the standard 2-clause BSD license used by TNF.
2017-10-01 04:00:40 +00:00
kamil
a1747d8bf4 mk/defaults/options.description: Drop unused gdb6-tui
gdb6 - the only user of gdb6-tui - has been eliminated from pkgsrc.
2017-09-29 14:07:52 +00:00
wiz
eef80df883 emacs22*, emacs23*, emacs24*: remove unmaintained emacs versions
As announced in
https://mail-index.netbsd.org/pkgsrc-users/2017/09/11/msg025563.html

This still leaves emacs20, emacs21, and the current version, emacs25.
2017-09-29 12:40:26 +00:00
maya
58176b4461 remove ftp variant when http server already exists
pretty sure these are the same server but ftp is considerably slower on
a high latency connection
2017-09-29 06:17:12 +00:00
schmonz
7c2c4a6e0a Replace LOCALBASE usage with PREFIX. 2017-09-28 16:15:49 +00:00
wiz
06bd0ca307 *: remove qt3 and the packages using it, including KDE3
Announced in https://mail-index.netbsd.org/pkgsrc-users/2017/09/10/msg025556.html
2017-09-26 10:26:54 +00:00
wiz
371e3139fb fetch/sites.mk: ftp.tuwien.ac.at times out, remove it 2017-09-17 10:55:17 +00:00
wiz
694ba19af5 mk: remove import target
While it would be useful, the current implementation has not been
updated even to use 'cvs add' instead of 'cvs import' (policy change
in 2012). Use the import-package.sh script currently residing in wip/
instead.
2017-09-16 09:34:25 +00:00
wiz
901afb5669 mk/misc/developer.mk: improve commit message
Commits to doc/ might also affect the TODO file, so use
"doc: " instead of "CHANGES-2017: " as default prefix.

Suggested by jperkin.
2017-09-13 09:06:34 +00:00
wiz
b24bc849af mk/bsd.pkg.mk: Adapt changes-entry target
Prefix package name to commit message.
2017-09-12 14:04:59 +00:00
jperkin
3f417abb31 Limit GCC SSP support to 4.x and newer. 2017-09-11 09:06:41 +00:00
jaapb
2a1c37e0c9 Moved jbuilder detection forward so it deals with opam properly 2017-09-08 22:18:46 +00:00
jaapb
4dc5b9d626 jbuilder not always uses opam, it's just the default 2017-09-08 19:09:26 +00:00
jaapb
d825f855a1 Added options for ocaml 4.05 2017-09-08 09:05:37 +00:00
jaapb
daaeaf91f5 Added variable to have ocaml-jbuilder only build certain packages 2017-09-08 08:39:06 +00:00
jmcneill
e33d8e5b89 Add a description for the el1 package option. 2017-09-07 15:31:53 +00:00
wiz
b635b7e7af Describe pcre2-jit option. 2017-09-07 13:48:22 +00:00
wiz
44faa0cdcd Remove teTeX* packages and references to them.
teTeX was desupported in 2006, and we have texlive in pkgsrc since 2009.
2017-09-06 16:49:21 +00:00
wiz
2148e3b706 Remove references to gnupg21 in preparation for its removal. 2017-08-29 12:11:35 +00:00
sevan
367560c13f Use NetBSD rcsid.
Reminded by joerg.
2017-08-27 18:18:57 +00:00
khorben
6b7f07a1e4 Add support for PKGSRC_MKPIE with cwrappers
This is based on a patch submitted on 16/04/2017 on tech-pkg@ and
adapted by joerg@ for pkgtools/cwrappers. It only consists in the
missing part to actually generate PIE executables with cwrappers if
configured to do so (currently disabled by default). The aim is really
to produce safer binaries where ASLR is in use.

This part in pkgsrc is only supported on NetBSD (x86) with GCC at the
moment.

Tested on NetBSD/amd64, with and without cwrappers, with and without
PKGSRC_MKPIE (all four combinations).
2017-08-25 01:43:17 +00:00
jlam
a27a11c331 mk/pkgtasks: Bump dependency on "pkgtasks" to 1.15.
This picks up the fix to updating system files correctly so that
ownership and permissions are preserved.
2017-08-23 17:53:32 +00:00
jlam
ed5291d835 mk/pkgformat: Only pass "-C" option to pkg_create(1) if it's valid.
Only pass "-C ${CONFLICTS}" to pkg_create(1) if ${CONFLICTS} is
non-empty; otherwise, a fatal error occurs.  This allows CONFLICTS
to be defined, but empty.
2017-08-23 17:52:30 +00:00
jlam
061d0f5c83 mk/pkgtasks: Fix name of variable for mkfontdir(1) tool. 2017-08-23 17:52:19 +00:00
jlam
b8ee74f354 mk/emulator: Move Linux shlibs task settings to package Makefiles.
Move the definitions of LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD
into suse_linux/emulator.mk.  The commands are specific to the
Linux installed, including the path to ldconfig(8), so localize
them to the package that provides it.

Move the definition of RUN_LDCONFIG out of the emulator framework
and into the packages that use them as RUN_LDCONFIG is meant to be
a package-settable variable.

Fix the path to the Linux ldconfig(8) that was used on FreeBSD to
brand the ELF format that has been incorrect for over 10 years.

In the suse_base packages, explicitly set LDCONFIG_REMOVE_CMD to
${TRUE} since the ldconfig(8) command is provided by that package
and can't be invoked at the postremove stage because it has already
been deleted from the system by then.

Bump the PKGREVISION of all the suse_base packages because the
install scripts have changed.

Bump the PKGREVISIONs of the darwin_lib and osf1_lib packages
because the install scripts no longer try to run ldconfig(8),
which is not provided in either OpenDarwin or OSF/1.
2017-08-21 12:49:16 +00:00
jlam
efa81dcfaa mk/pkgformat: Support INSTALL scripts that rely on UNPACK.
The pkginstall framework had an UNPACK action invoked early
in the PRE-INSTALL stage to unpack scriplets that were invoked
in later stages to perform extra work for installation, removal,
or both.

Add an UNPACK action that is a no-op for any scripts that don't
support the action.
2017-08-21 12:48:25 +00:00
jlam
9a3ba0d88e mk/pkgtasks: Fix postinstall check to not skip last set of files.
The postinstall check was improperly skipping the last N items
listed in CONF_FILES (and related) variables when verifying that
there is a multiple of N items listed.  Fix the bounds check.
2017-08-19 00:30:55 +00:00
jlam
d7766302ca mk/pkgtasks: Sometimes avoid error if source files don't exist.
The shell code used to check for the existence of the source files
listed in the various CONF_FILES (and related) variables has been
refactored out into a separate macro variable.  In addition, the
macro has been modified to only emit a warning if the source file
is not in ${PREFIX} and can't be found on the host system.

This supports using /dev/null as a source file, which is a common
idiom for creating an empty target file, even if ${DESTDIR} is
non-empty.
2017-08-19 00:30:42 +00:00
jlam
c9ebc4ab2d Bump dependency on pkgtasks to version that supports TASK_VERBOSE.
Pass TASK_VERBOSE=all to the install and deinstall scripts if
PKG_VERBOSE is defined by the user.
2017-08-19 00:30:31 +00:00
jlam
98e1e541d0 Run pkg_add(1) and pkg_delete(1) using ${SETENV} ${PKGTOOLS_ENV}.
PKGTOOLS_ENV allows for passing environment variables to the
package install and deinstall scripts.
2017-08-19 00:30:19 +00:00
jlam
4142027296 mk/pkgtasks: Substitute for variables unconditionally in scripts.
Replace @VAR@ with ${VAR} unconditionally in scripts, even if they
values are empty.  This will allow for fall-through to using the
pkgtasks hard-coded defaults, usually found by searching the PATH
contents, and it avoids having ugly "@VAR@" in the generated
scripts.
2017-08-19 00:29:55 +00:00
jlam
1d3dfdfebc Substitute the correct string for GTK3_UPDATE_ICON_CACHE. 2017-08-19 00:29:45 +00:00
schmonz
9cb4ffdb29 Remove "libidn" option, superseded by "idn". 2017-08-17 13:59:27 +00:00
schmonz
fbe4d66b70 Describe "qmail-customerror" option. 2017-08-13 23:45:17 +00:00
sevan
e02b0f6664 pbulk is able to handle the creation All directory itself[1].
changing the permission of ${PACKAGES} at the end of the script prevents that
from working.
Undo the change in r1.4 to create the All directory during setup & instead do
not change permissions.

Tested on OS X Tiger & FreeBSD.

Heads up by joerg
[1] http://mail-index.netbsd.org/pkgsrc-changes/2017/08/01/msg160826.html
2017-08-11 19:20:20 +00:00
hauke
2711324a88 Update MASTER_SITE_XEMACS list. 2017-08-10 12:21:18 +00:00
hauke
7033b75407 Remove non-resolvable MASTER_SITE_XEMACS hosts. 2017-08-10 09:34:05 +00:00
jlam
ad2d4d8890 mk/pkgtasks: Failures in POST- stages of the scripts are non-fatal.
The return values of the postinstall and postremove meta-tasks are
ignored unless the user-settable variable ${PKG_FATAL_ERRORS} is
"yes".  ${PKG_FATAL_ERRORS} defaults to "no" to preserve the
existing behavior of install scripts by mk/pkginstall.
2017-08-10 05:41:52 +00:00
jlam
c7a1115c70 mk/pkgtasks: Fix bug in postinstall CONF_FILES assertion.
If ${DESTDIR} was non-empty and the source file was an absolute
path, the postinstall check target defined in mk/pkgtasks/files.mk
was improperly failing.  Fix the bug by only prepending ${PREFIX}
if the source path is relative, and always prepending ${DESTDIR}.
2017-08-10 05:41:23 +00:00
jlam
a8a45f8487 mk/pkgtasks: Add infrastructure to use "icon_themes" package task.
Add definitions for the gtk-update-icon-cache(1) command to the
script header template, and a makefile fragment that creates the
data file for the "icon_themes" package task if ${ICON_THEMES} is
"yes" in the package Makefile.

Also bump pkgtasks dependency to version 1.12 for the "icon_themes"
package task and compatibility with pkgsrc/mk/pkginstall.
2017-08-10 05:41:07 +00:00
jlam
bd5bbf286f mk/pkgtasks: Add additional variables used by package tasks.
These should be explicitly set in the scripts, otherwise, the
pkgtasks defaults are used by locating programs in the $PATH
or are hardcoded defaults used for testing pkgtasks.
2017-08-10 05:38:00 +00:00
jlam
063ad58e6c mk/pkgtasks: Make the assertion comments more obvious. 2017-08-10 05:37:44 +00:00
jlam
b08f5b23a2 mk/pkgtasks: Assert that directories for target files will exist.
For target files listed in CONF_FILES (and other config file
variables), assert that the containing directories are named in
MAKE_DIRS or one of the other directory variables.
2017-08-10 05:37:32 +00:00
jlam
23507fce19 Remove accidentally-committed temporary editor file. 2017-08-10 05:27:01 +00:00
jlam
dedd4c0b82 mk/pkgtasks: Rename some make(1) variables to be more descriptive. 2017-08-10 05:25:10 +00:00
leot
d5e3dfb5b3 Add Keywords:' comments to help the help' target to find recent pkgsrc
security options.
2017-08-09 12:47:41 +00:00
jlam
c22b34a349 Check, don't assert, that INSTALLATION_DIRS are all in ${PREFIX}.
Change the assertion into an install-time check that the paths
listed in INSTALLATION_DIRS are relative paths or are in ${PREFIX}.
This delays the check so that some common variables used when
listing directories in INSTALLATION_DIRS are fully-expanded.
2017-08-08 17:17:25 +00:00
maya
4ad12bcd40 Remove hack working around NetBSD 1.5's specfiles. 2017-08-07 23:54:09 +00:00
maya
88067d2bf4 Disable fortify on netbsd<6.
This appears to be causing issues with pkgsrc GCC attempting to insert
builtins it does not have, because we don't build libssp. unbreaks icu build.

there may be more problems from this issue in the future, but netbsd-7 is
better tested now.
2017-08-07 23:44:53 +00:00
jlam
176d83c4aa Assert INSTALLATION_DIRS begin with ${PREFIX} or are relative.
Add an assertion that all paths listed in INSTALLATION_DIRS must
either begin with ${PREFIX}/ or are relative paths.  Clarify in the
documentation that INSTALLATION_DIRS can list either type of path.

Some packages are using INSTALLATION_DIRS to create directory trees
outside of ${PREFIX}, e.g., under ${PKG_SYSCONFBASE} or ${VARBASE}.
However, these directories are only created as part of the
"install" target, which causes them to only be created during the
staged installation into ${DESTDIR} and not at all if their binary
packages are installed.  These packages should be fixed to use
MAKE_DIRS or OWN_DIRS to create these directory trees at the proper
time.
2017-08-07 15:49:44 +00:00
jperkin
b3c00861dc Disable fortify on Linux when optimisation is not enabled, it is not
supported in that configuration and warnings are issued from the system
headers.
2017-08-04 08:59:20 +00:00
jperkin
7c713c8b68 Remove obsolete and unused SunOS fortify section. 2017-08-04 08:53:33 +00:00
wiz
d678f8f800 Switch from mdocml to mandoc; remove obsolete references. 2017-08-01 15:09:52 +00:00
jperkin
007ae9858c Do not perform checksum tests when explicitly calling a make target that
creates or updates the checksum.  Allows users to set FAILOVER_FETCH in
mk.conf unconditionally and be able to update distinfo files without
first having to remove them.
2017-08-01 13:15:32 +00:00
dbj
76af32191a don't try to create buildlinks if BUILDLINK_PREFIX.${_pkg_} is empty
without this change it looks for files in $HOME or fails if that is not set
2017-08-01 05:48:12 +00:00
schmonz
b8b126f4f2 Extract user and group default to mk/defaults/mk.conf. 2017-07-27 04:10:30 +00:00
jaapb
bf2226dec6 Changed ocaml.mk to allow for multiple opam .install files 2017-07-26 09:41:31 +00:00
sevan
29f03a903c Create the All packages sub directory.
This prevents the bulk build failing on the complition of the first package
because the directory doesn't exist.
2017-07-25 22:45:21 +00:00
maya
7ddbd3b915 Don't bother with a version check for alpha cflags 2017-07-24 08:19:08 +00:00
jaapb
cc10614657 Adding jbuilder support to ocaml.mk 2017-07-23 12:20:46 +00:00
maya
17b7efc0d1 freebsd 12 doesn't have /usr/bin/tbl, so check for its existence before
deciding to use it.
2017-07-22 18:10:25 +00:00
schmonz
fa975fd570 Describe "qmail-rejectutils" option. 2017-07-21 18:18:51 +00:00
brook
590147deae Add logic so GCC_REQD+=7.x works. 2017-07-18 18:27:31 +00:00
joerg
03f704711c Retire CLANG_NO_VALUE_PROPAGATION_PASS. CVP has been fixed in LLVM to
require much less memory.
2017-07-11 19:41:20 +00:00
jaapb
2437ab894b Added cmxs option (for net/ocamlnet). 2017-07-11 14:13:06 +00:00
jaapb
59596d1de7 Changes in OCaml support:
- added support for TOPKG
- installation through OPAM install files now possible
- oasis support improved
2017-07-11 09:54:21 +00:00
joerg
80852c70a2 Deal with wc in /bin. From Thomas Orgis. 2017-07-10 12:32:30 +00:00
schmonz
a6335c2ab0 Define PKG_HAVE_KQUEUE where available. 2017-07-09 17:03:12 +00:00
khorben
e519f07826 Register support for PKGSRC_USE_STACK_CHECK
This adds -fstack-check to the CFLAGS (with GCC on NetBSD x86). Only
tested on NetBSD/amd64 so far.

Disabled by default.
2017-07-09 14:30:07 +00:00
minskim
04c8890fa6 Delete an obsolete file: mk/tex.buildlink3.mk 2017-07-06 18:35:08 +00:00
khorben
8fd0957f3f Enable both SSP and FORTIFY by default
This is only actually in use where known supported.

Prepared for a while, also the default in the base system (for NetBSD and
numerous others), introduced on mailing-lists and in my talk "Hardening
pkgsrc", and finally accepted unanimously during pkgsrcCon 2017.

Used by Joyent already (according to jperkin@) and tested in EdgeBSD for a
couple years now (amd64 and i386).
2017-07-05 15:58:30 +00:00
khorben
b6f9200eca Also check for RELRO in shared libraries 2017-07-05 15:49:00 +00:00
khorben
b6e04d7b1c Only check ELF binaries for RELRO 2017-07-05 15:24:22 +00:00
khorben
ca2b8ac385 Implement a check for RELRO
This is only performed if PKG_DEVELOPER and RELRO are in use.

After a suggestion during my talk at BSDCan 2017; thanks!
Also, submitted on tech-pkg@ for review mid-June.

As a next step, it seems this can be extended to libraries, just like the
check for SHLIBS does (from which this is inspired).
2017-07-04 18:29:24 +00:00
gdt
6d81083d0b Improve USE_LANGUAGES explanation
Reference the notion of making compilers visible to the build
environment.  Mention setting --std flags.  Note that the text is
currently aspirtational relative to gcc and C++.

(Comment change only.)
2017-07-04 14:35:55 +00:00
joerg
5f789069ad Fix typo. 2017-06-25 01:41:15 +00:00
schmonz
f9392c69f5 Add defaults for djbdns users and group. 2017-06-23 15:44:06 +00:00
schmonz
f7ae81693c Add webdav, remove qmail-run-ofmipd. 2017-06-21 19:29:00 +00:00
jperkin
24df526b4c Set LIBABISUFFIX correctly on SunOS/sparc64. Tested by Jörn Clausen as
part of PR#52250.
2017-06-21 08:20:10 +00:00
jperkin
0d96cc5144 Default to oracle-jdk8 on newer Darwin/x86_64. 2017-06-20 11:59:20 +00:00
maya
7e02908133 Use the fgrep binary explicitly on OSF1
Fixes PR pkg/52312: "Checking for fgrep" causes Fork bomb
From Naruaki Etomi
2017-06-19 06:25:45 +00:00
youri
ba2f6d95e1 Add GVFS option. 2017-06-18 21:27:05 +00:00
kamil
0e21766de5 Correct ccache(1) typo: CPPATH -> CPPPATH 2017-06-17 02:47:20 +00:00
kamil
df999dfb68 Correct shadowing system compiler with a pkgsrc one in ccache
ccache needs to call real compiler and it detects it with looking in $PATH.
In case of usage of /usr/local/bin/clang as the desired pkgsrc $CC option,
it will be shadowed by /usr/pkg/bin/clang if someone will build it in as a
package. Workaround the problem with setting CCACHE_PATH through
PKGSRC_MAKE_ENV. Little bit overzelaously set it to
${CCPATH:H}:${CXXPATH:H}:${CPPATH:H}, just in case that they might be in
different paths. To ensure that they are not shadowed in narrow cases,
there is an option to rename clang to xclang or similar and use it this
way in $PKG_CC.

While there, introduce new user settable option: CCACHE_LOGFILE.
If set, ccache logs to file specified in ${CCACHE_LOGFILE:Q}.

+# CCACHE_LOGFILE
+#       If set to a file path, ccache will write information on what it is
+#       doing to the specified file. This is useful for tracking down
+#       problems.

This fixes another set of problems building large projects like Clang, LLVM
with ccache.

Sponsored by <The NetBSD Foundation>
2017-06-17 01:44:54 +00:00
prlw1
5c827f6f0e Essentially from OBATA Akio in private mail, June 2015:
Introduce Icon Theme cache handling framework

Icon Theme cache files are used by GTK+ and maintained with the
gtk-update-icon-cache tool.  Each Icon Theme package duplicates
its own maintainance scripts: only the specified icon theme directory
differs.  With this framework, if packages have ICON_THEMES=yes,
associated icon themes will be detected and their cache files will
be maintained automatically.

Change cache handling behaviour as follows:
* Icon theme caches will be updated if either gtk2+ or gtk3+
  gtk-update-icon-cache tool is available.
* With installation of gtk2+ package, not only hicolor icon theme but
  also any other icon theme cache files will be updated.
* Prevent removal of icon caches at deinstall, gtk3+ may be installed and
  using them.
* Ditto with gtk3+, gtk2+ may not be installed now, so caches must be
  maintained by gtk3+.
2017-06-14 16:23:09 +00:00
sevan
2302c91479 Whilst the version of find in Darwin 8 & prior is insufficient for installing Python modules,
there are further issues with circular dependencies which need to be resolved
before the change to using find from coreutils can be made.
Revert previous change for now.
2017-06-12 16:11:51 +00:00
maya
2b5f2f1662 Reorder so cpan http mirrors are first
at least with nbftp, ftp downloads involve several slow back and forth 'cd'
commands and end up being noticeably slower for lots of little files
2017-06-12 07:13:35 +00:00
kamil
9e8b293e05 Restore c++ support in ccache.mk
The ccache.mk file was checking for languages "c" and "c++".
New framework for C++ dialects (or revisions) was setting implicitly c++,
translating e.g. c++11 to c++.

compiler.mk set this c++ after including ccache.mk, so c++ was undefined
and ccache was ignored.

This helps to build large projects like LLVM+Clang+LLDB with ccache.

Sponsored by <The NetBSD Foundation>
2017-06-10 11:32:32 +00:00
khorben
0a3bb24acf Register support for RELRO on Linux (limited to x86 first)
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 17:21:53 +00:00
khorben
7f05f4f5e5 Register support for SSP on Linux (limited to x86 first)
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 17:04:18 +00:00
khorben
369b9cea32 Register support for FORTIFY on Linux
Tested on Debian GNU/Linux 8.8 (amd64).

Actual support will depend on the underlying distribution though.
2017-06-09 16:56:26 +00:00
jlam
a981d05eab Fix the value being substituted for TTMKFDIR in install scripts.
@TYPE1INST@ should be replaced with ${TOOLS_PATH.type1inst}.
Before this change, the sed(1) script being generated was not
replaced @TYPE1INST@ at all, and instead generating a no-op
substitution pattern for TTMKFDIR.
2017-06-07 20:24:27 +00:00
jlam
633861d271 Substitute for LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD in scripts.
LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD are set by emulator/*.mk
in order to update the library search paths in the emulated system
directories.  Substitute for those values, but default them to the
empty string so that the default action taken by the "shlibs" task
can be used.
2017-06-07 20:24:19 +00:00
jlam
f43517c597 Fix subsitutions for @PKG_ADMIN@ and @PKG_INFO@.
The substituted values need to refer to the _CMD variables that
hold the path to the actual commands.
2017-06-07 20:24:09 +00:00
jlam
fafe82389b Subsitute for @CROSSBASE@ and @VARBASE@ in install scripts.
${CROSSBASE} and ${VARBASE} both point to important directories
for installed packages, so always substitute those values into
deinstall/install scripts.
2017-06-07 20:24:01 +00:00
jlam
3521014203 Bump pkgtasks dependency to latest version in pkgtools/pkgtasks. 2017-06-04 00:03:43 +00:00
jlam
faa05c5d4c Using script templates implies a dependency on pkgtasks.
The header template loads pkgtasks' load.subr unconditionally, so
if any script templates are used, then they imply a dependency on
pkgtasks.  Trigger the dependency in the "pkgtasks" framework by
setting USE_PKGTASKS to "yes".
2017-06-02 19:13:44 +00:00
jlam
3140840fab Be more flexible about adding dependency on pkgtasks.
Check the value of ${USE_PKGTASKS} at the time of reference for
the DEPENDS variable to see whether "pkgtasks" needs to be added
or not.
2017-06-02 19:13:34 +00:00
jlam
e697d677aa Fix typo in makefile comment. 2017-06-02 19:13:26 +00:00
jlam
b73b227f3b Create ${PKG_SYSCONFDIR} automatically in "pkgtasks" framework.
Add missing feature from "pkginstall" framework where the config
directory ${PKG_SYSCONFDIR} was automatically created if one of
the following conditions were true:

* PKG_SYSCONFSUBDIR was defined and non-empty.
* Any configuration files were copied into ${PKG_SYSCONFDIR}.
2017-06-02 16:12:25 +00:00
jlam
c57069d38e Fix check for the proper number of words in config files variables.
Remove unnecessary check for ${_VALID.files} in pkgtasks/files.mk
that was a leftover from old, unused code.
2017-06-02 16:11:47 +00:00
jlam
b86c91739a Remove unused variable definition _PKGTASKS_NEEDARGS from test.mk. 2017-06-02 16:11:24 +00:00
jlam
6f3e827791 Remove unused scripts/shlib-type script.
The platform/${OPSYS}.mk files now use platform-specific code to
set ${_OPSYS_SHLIB_TYPE} which is the default value for
${SHLIB_TYPE}.  All previous uses of this script to detect the
native shared library type or native executable format have been
removed from pkgsrc.
2017-06-01 13:30:52 +00:00
jlam
000f312c98 Use public SHLIB_TYPE instead of private _OPSYS_SHLIB_TYPE. 2017-06-01 13:30:24 +00:00
jlam
b47434aa08 SHLIB_TYPE definition has moved to bsd.prefs.mk. 2017-06-01 13:29:18 +00:00
jlam
825762cd05 Toggle using pkgsrc/mk/smf.mk based on ${_USE_NEW_PKGINSTALL}.
Missing change from initial commit to provide the toggle for using
the new frameworks to replace pkgsrc/mk/pkginstall.
2017-06-01 03:41:44 +00:00
jlam
793c69db50 Add pkgsrc/mk/Kyuafile to drive all tests under pkgsrc/mk. 2017-06-01 02:37:12 +00:00
jlam
0a676f1f26 Provide switch to activate new frameworks to replace "pkginstall".
If ${_USE_NEW_PKGINSTALL} is "yes", then use the new "pkgtasks",
"init", and "pkgformat/pkg"-scripts frameworks instead of the
existing "pkginstall" framework.
2017-06-01 02:15:10 +00:00
jlam
d7e2d30603 Make creation of +DEINSTALL/+INSTALL scripts pkgformat-specific.
Move the files needed to generate +DEINSTALL and +INSTALL scripts
for the "pkg" format into pkgsrc/mk/pkgformat/pkg.

Create new script templates that make use of "pkgtasks" to perform
the actual tasks.
2017-06-01 02:09:43 +00:00
jlam
a651f1eccc Add "init" framework for management of init scripts for packages.
${INIT_SYSTEM} is used to select the type of init system in use on
the system, and currently can be either "rc.d" for the NetBSD rc.d
system, or "smf" for the Solaris Service Management Facility
system.

pkgsrc/mk/init/smf.mk is pkgsrc/mk/smf.mk with some very minor
modifications to fit into the "init" framework.
2017-06-01 02:08:04 +00:00
jlam
8e334ba0ec Add "pkgtasks" framework to generate data files used by pkgtasks.
A full dependency on the "pkgtasks" package will be added if a
non-empty data file is generated by the framework.

This framework is not yet hooked into bsd.pkg.mk, pending some
other changes.
2017-06-01 02:06:04 +00:00
jlam
207904f706 Document PRE_CMD.su-<target> and simplify its use in "su-target".
This avoids needing to use a shell command to test whether
${PRE_CMD.su-<target>} is empty before executing it.
2017-05-31 22:56:41 +00:00
jlam
d8e9bb513c Check that some variables have the correct number of words.
Assert MAKE_DIRS_PERMS and OWN_DIRS_PERMS have the right number of
words before using a multivariable .for loop over those variables.
This prevents errors in parsing the makefiles.
2017-05-31 22:56:22 +00:00
jlam
b110ad9dac Move detection of shared library type into the platform file.
Only four platforms, all BSDs, need to resolve "ELF/a.out" into
either ELF or a.out.  Calculate it directly in the platform file
and return the value in ${_OPSYS_SHLIB_TYPE} and export that value
in bsd.prefs.mk as ${SHLIB_TYPE}.

Instead of requiring the file(1) tool, we can expect the base
system of those BSDs to have /usr/bin/file, so make use of it
directly.
2017-05-31 22:55:01 +00:00
schmonz
8f3140b68d Remove "mess822-qmailqueue" option. 2017-05-29 23:21:21 +00:00
maya
340983247b Remove old logic about choosing audio device on freebsd which is
incorrectly applying to recent versions of freebsd. always play audio
to /dev/dsp.
2017-05-28 21:53:06 +00:00
schmonz
8aa48eaa5d Document new "mess822-qmailqueue" option. 2017-05-27 16:59:45 +00:00
adam
f7716a4492 Removed databases/postgresql91 2017-05-24 19:51:12 +00:00
schmonz
398b9c6e51 Document new "qmail-remote" option. 2017-05-22 17:23:26 +00:00
joerg
c9d19aae42 Drop redundant dependency patterns. The normal reduction logic doesn't
work for glob expressions, so multiple generic patterns would not be
reduced.
2017-05-19 14:58:51 +00:00
jperkin
c657f15637 Consolidate setting of SSP flags now that multiple compilers support it. 2017-05-18 08:14:08 +00:00
khorben
8b017f6b3a Register support for SSP on FreeBSD and clang (on x86 architectures)
Support for SSP (Stack-Smashing Protection) is optional so this should not
affect default builds.

Tested on FreeBSD/amd64 (10.3-RELEASE-p11)
2017-05-18 01:29:55 +00:00
prlw1
a1c414e08a typo 2017-05-15 08:12:57 +00:00
jperkin
ab40c7bbee Add the zsh license and add it to the default acceptable list (MIT-like). 2017-05-11 12:56:21 +00:00
ryoon
b9fe77ea59 lang/openjdk8 works under FreeBSD/amd64 10.3 2017-05-10 14:04:31 +00:00
jperkin
3b718bfe38 Default to pkgsrc terminfo. The curses default was switched to pkgsrc a
while ago, but since then any packages that included both curses and
terminfo ended up with conflicting BUILDLINK_TRANSFORM entries, leaving it
to include ordering to determine whether the builtin or pkgsrc curses was
used.  This keeps them in sync, at least by default, though ideally we'd
ensure that at an infrastructure level.
2017-05-08 17:34:15 +00:00
sevan
13b404e17b The version of find(1) included in Darwin did not support {} + being passed to
the exec option up until version 9 (Leopard). sysutils/findutils should be used on
prior releases.
This resolves packaging Python modules which utilise lang/python/egg.mk. find(1)
is called here with '{}' +; passed to exec option.
2017-05-06 16:33:54 +00:00
joerg
8b20e378ad Add GCC_VERSION_SUFFIX, which can be used i.e. on SuSE systems to select
between different compiler versions.
2017-05-04 18:44:12 +00:00
joerg
df836cad8d Simplify PATH handling. Use full pkgsrc path for cwrappers, but skip the
cwrapper directory itself.
2017-05-04 18:30:56 +00:00
jperkin
1421ba461a Introduce CHECK_SHLIBS_BLACKLIST which allows users to specify a list of
regexps that will cause the checks to fail if they match resolved RPATHs.
2017-05-03 13:46:53 +00:00
jperkin
6004c83509 Add support to USE_LANGUAGES for C++ standards from c++0x to gnu++14.
This allows packages to specify the version of the standard that they
require, and the infrastructure then distils that down in a similar way
to GCC_REQD to the newest standard, avoiding clashes with different -std
requirements based on CXXFLAGS.

Broad concensus on tech-pkg and tested in bulk builds.
2017-05-03 08:34:23 +00:00
jperkin
c4f4067d45 Only perform the CHECK_WRKREF_EXTRA_DIRS check on the resolved path rather
than on all of the rpaths.  We can't always exclude the rpath being added,
for example when the compiler adds its own behind our back, so this avoids
false positives.
2017-04-26 11:19:16 +00:00
sborrill
1e2ee6d186 Add vw_printw to list of functions to check for when assessing suitability
of builtin curses
2017-04-24 12:16:38 +00:00
taca
efbc2f124b Remove reference to misc/rubygems and RUBY_VER is "18". 2017-04-23 14:18:09 +00:00
maya
e76c53d7c0 Check for paxctl's existence rather than version+arch check.
It likely only matched amd64 before (looks like i386 had a typo),
but it's necessary on most netbsd archs since netbsd-7.99.x.
2017-04-21 16:03:10 +00:00
ryoon
20ddaf0877 Workaround for make(1) from recent NetBSD-current to detect paxctl 2017-04-21 14:45:07 +00:00
wiz
5a829d2c92 Remove mpeg4ip, unused in pkgsrc, newer version in multimedia/libmp4v2. 2017-04-17 08:48:00 +00:00
khorben
4211ac7e85 Add granularity to PKGSRC_USE_FORTIFY and PKGSRC_USE_RELRO
The new options are, for FORTIFY:
  "no"     Do not pass any flags for FORTIFY
  "weak"   Pass -D_FORTIFY_SOURCE=1
  "strong" Pass -D_FORTIFY_SOURCE=2

This allows users to reduce the level of FORTIFY specified if necessary
or desired. The previous setting as "yes" is now equivalent to "strong"
(the default when enabling).

The new options are, for RELRO:
  "no"      Do not pass any flags for RELRO
  "partial" Pass -Wl,-z,relro
  "full"    Pass -Wl,-z,relro -Wl,-z,now

This allows users to reduce the level of RELRO specified if necessary or
desired. The previous setting as "yes" is now equivalent to "full" (the
default when enabling).

This is intended to match the changes committed by jperkin@ (for SSP)
after our discussion a (long) while back.

No functional change intended (with the settings supported so far).
2017-04-16 23:12:37 +00:00
khorben
6a95312dc6 Remove references to WINDOWMAKER_{OPTIONS,THEMES}
From what I can tell, this is no longer in use.
2017-04-16 22:10:40 +00:00
khorben
8a2d0743ad More consistent log output 2017-04-16 16:48:48 +00:00
jperkin
4c279ad5d4 Let GCC 4.4 handle requests for GCC 4.[0-4] to ensure we are consistent in
using the closest match for each request, as well as fixing platforms where
GCC 6 does not yet build or is unsupported.
2017-04-10 12:22:07 +00:00
joerg
6aea04f07f xz is a valid compression algorithm. 2017-04-09 20:44:41 +00:00
schmonz
8000293e9e Describe qmail-run-ofmipd. 2017-04-09 13:02:32 +00:00
fhajny
2d1e7331a3 Remove traces of textproc/php-dom which is not needed anymore, now that dom is built into PHP. Bump resp. PKGREVISION. 2017-04-05 12:33:47 +00:00
schmonz
9a7cb863a0 Define default names for qmail users and groups. 2017-04-04 07:44:13 +00:00
rillig
e120f955f9 Fixed typo. 2017-04-01 20:55:39 +00:00
schmonz
491e898937 Describe qmail-srs option (Sender Rewriting Scheme). 2017-04-01 01:08:07 +00:00
wiz
91700f433b Remove binary-only realplayer-codecs package from 2004. 2017-03-24 16:55:15 +00:00
schmonz
638cc28080 Describe qmail-maildiruniq and qmail-rcptcheck. 2017-03-23 07:32:42 +00:00
schmonz
f487e082e2 QMAILDIR used to default to "/var/qmail" out of concern for distributors'
obligations. Default to ${VARBASE}/qmail instead: effectively the same
default, and helps for e.g. UNPRIVILEGED.
2017-03-21 13:04:14 +00:00
roy
aa8c0d28e7 quickly remove debug 2017-03-20 10:03:57 +00:00
roy
ced7d88b93 Roll the duplicated function and define tests into lists and then loop
through each with one test.
Reduces code size, makes reading it a lot easier and is more maintainable.

Patch from jperkin@
2017-03-20 10:03:27 +00:00