Commit graph

9200 commits

Author SHA1 Message Date
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