Framework: partially sync with upstream

Taken from: HardenedBSD
This commit is contained in:
Franco Fichtner 2019-08-01 12:16:25 +02:00
parent 887be89df9
commit 7cd89fd7fe
12 changed files with 109 additions and 49 deletions

4
GIDs
View File

@ -179,11 +179,11 @@ openhab:*:235:
rspamd:*:236:
paperless:*:237:
sonic:*:238:
# free: 239
restserver:*:239:
aprsd:*:240:
tnc:*:241:
prosody:*:242:
# free: 243
ot-recorder:*:243:
mastodon:*:244:
# free: 245
# free: 246

1
LEGAL
View File

@ -137,6 +137,7 @@ libamrnb/26104-*.zip audio/libamrnb unclear legal status, probably need license
libamrwb/26204-*.zip audio/libamrwb unclear legal status, probably need licenses from 3GPP and more
libdvdcss-*.tar.bz2 multimedia/libdvdcss CSS code may violate the DMCA
linux-nwnclient/* games/linux-nwnclient Distribution not allowed
linux-rkbin/* sysutils/linux-rkbin Unknown license
linux-unrealgold* games/linux-unrealgold Redistribution limited
linux-ut/* games/linux-ut Redistribution is limited, see license
linuxq3ademo-* games/linux-quake3 Restrictive license by Loki Software

8
MOVED
View File

@ -11422,7 +11422,6 @@ security/pecl-ssh2-0|security/pecl-ssh2|2019-01-01|Has expired: Works only with
security/bitwarden-ruby||2019-01-01|Has expired: Expects very specific rubygem versions for new updates. Please follow instructions in git repo
devel/pecl-intl||2019-01-01|Has expired: Works only with EOL php 5.6
devel/pecl-APCu4|devel/pecl-APCu|2019-01-01|Has expired: Works only with EOL php 5.6
databases/pecl-memcache||2019-01-01|Has expired: Works only with EOL php 5.6
databases/pecl-memcached2|databases/pecl-memcached|2019-01-01|Has expired: Works only with EOL php 5.6
math/pecl-bitset2|math/pecl-bitset|2019-01-01|Has expired: Works only with EOL php 5.6
multimedia/zoneminder-h264|multimedia/zoneminder|2019-01-01|Has expired: h264 feature was commited to main branch, please upgrade to www/zoneminder
@ -12852,3 +12851,10 @@ databases/pecl-redis3|databases/pecl-redis|2019-07-19|No longer needed after PHP
www/weblint||2019-07-20|Broken, uses nonexistant perl libraries, and upstream disappeared. Use www/p5-HTML-Lint instead
www/august||2019-07-20|Uses removed weblint
misc/bitwise|math/bitwise|2019-07-21|Moved to math category
devel/gradle46||2019-07-26|Removed because the only user, biology/gatk, doesn't need it any more
devel/subversion19|devel/subversion|2019-07-27|Has expired: subversion 1.9.x is end of life log time ago. Consider installing devel/subversion or devel/subversion-lts
www/p5-WebService-MusicBrainz0|www/p5-WebService-MusicBrainz|2019-07-28|0.9x branch is no longer required after audio/abcde was updated to 2.9.1
security/rubygem-googleauth06|security/rubygem-googleauth|2019-07-31|Has expired: Use security/rubygem-googleauth instead
devel/ddd||2019-07-31|Has expired: does not work with modern gdb
devel/py-pip-tools2|devel/py-pip-tools|2019-07-31|Has expired: Use devel/py-pip-tools instead
lang/cint|lang/cling|2019-07-31|Has expired: Abandonware; superseded by lang/cling

View File

@ -126,7 +126,14 @@ for _file in "${@}"; do
# There is a lot of escaping, but the " needs to survive echo/eval.
case ${file} in
*/*)
mkdir -p "${file%/*}"
case ${dp_TARGET} in
fetch-list|fetch-url-list-int)
echo "mkdir -p \"${file%/*}\" && "
;;
*)
mkdir -p "${file%/*}"
;;
esac
args="-o ${file} ${site}${file}"
;;
*)

View File

@ -2,8 +2,12 @@
#
# Provide support for building Haskell packages using Cabal.
#
# Feature: cabal
# Usage: USES=cabal
# Feature: cabal
# Usage: USES=cabal or USES=cabal:ARGS
# Valid ARGS: hpack
#
# hpack: The port doesn't have a .cabal file and needs devel/hs-hpack to
# generate it from package.yaml file
#
# Variables, which can be set by the port:
#
@ -36,15 +40,20 @@
.if !defined(_INCLUDE_USES_CABAL_MK)
_INCLUDE_USES_CABAL_MK= yes
.if !empty(cabal_ARGS)
IGNORE= Incorrect 'USES= cabal:${cabal_ARGS}' cabal takes no arguments
.endif
_valid_ARGS= hpack
. for arg in ${cabal_ARGS}
. if !${_valid_ARGS:M${arg}}
IGNORE= USES=cabal: invalid arguments: ${arg}
. endif
. endfor
PKGNAMEPREFIX?= hs-
EXECUTABLES?= ${PORTNAME}
CABAL_HOME= ${WRKDIR}/cabal-home
CABAL_LIBEXEC= libexec/cabal
CABAL_EXTRACT_SUFX= .tar.gz
. if !defined(CABAL_BOOTSTRAP)
@ -52,6 +61,10 @@ BUILD_DEPENDS+= cabal:devel/hs-cabal-install \
ghc:lang/ghc
. endif
. if ${cabal_ARGS:Mhpack}
EXTRACT_DEPENDS+= hpack:devel/hs-hpack
. endif
# Inherited via lang/ghc we need to depend on iconv and libgmp.so (stage q/a)
iconv_ARGS= translit
.include "${USESDIR}/iconv.mk"
@ -92,6 +105,7 @@ DISTFILES+= ${package:C/_[0-9]+//}/revision/${package:C/[^_]*//:S/_//}.cabal:${p
# Fetches and unpacks package source from Hackage using only PORTNAME and PORTVERSION.
cabal-extract: ${WRKDIR}
${RM} -rf ${CABAL_HOME}/.cabal
${SETENV} HOME=${CABAL_HOME} cabal new-update
cd ${WRKDIR} && \
${SETENV} HOME=${CABAL_HOME} cabal get ${PORTNAME}-${PORTVERSION}
@ -99,6 +113,9 @@ cabal-extract: ${WRKDIR}
# Fetches and unpacks dependencies sources for a cabal-extract'ed package.
# Builds them as side-effect.
cabal-extract-deps:
. if ${cabal_ARGS:Mhpack}
cd ${WRKSRC} && ${SETENV} HOME=${CABAL_HOME} hpack
. endif
cd ${WRKSRC} && \
${SETENV} HOME=${CABAL_HOME} cabal new-configure --flags="${CABAL_FLAGS}" ${CONFIGURE_ARGS}
cd ${WRKSRC} && \
@ -120,6 +137,9 @@ make-use-cabal-revs:
. if !defined(CABAL_BOOTSTRAP)
cabal-post-extract:
. if ${cabal_ARGS:Mhpack}
cd ${WRKSRC} && ${SETENV} HOME=${CABAL_HOME} hpack
. endif
. for package in ${_use_cabal}
. if ${package:C/[^_]*//:S/_//} != ""
cp ${DISTDIR}/${DIST_SUBDIR}/${package:C/_[0-9]+//}/revision/${package:C/[^_]*//:S/_//}.cabal `find ${WRKDIR}/${package:C/_[0-9]+//} -name *.cabal -depth 1`
@ -138,11 +158,11 @@ do-build:
. if !target(do-install)
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/libexec/cabal
${MKDIR} ${STAGEDIR}${PREFIX}/${CABAL_LIBEXEC}
. for exe in ${EXECUTABLES}
${INSTALL_PROGRAM} \
$$(find ${WRKSRC}/dist-newstyle -name ${exe} -type f -perm +111) \
${STAGEDIR}${PREFIX}/libexec/cabal/${exe}
${STAGEDIR}${PREFIX}/${CABAL_LIBEXEC}/${exe}
${ECHO} '#!/bin/sh' > ${STAGEDIR}${PREFIX}/bin/${exe}
${ECHO} '' >> ${STAGEDIR}${PREFIX}/bin/${exe}
${ECHO} 'export ${exe:S/-/_/}_datadir=${DATADIR}' >> ${STAGEDIR}${PREFIX}/bin/${exe}
@ -150,7 +170,7 @@ do-install:
${ECHO} 'export ${dep:S/-/_/}_datadir=${DATADIR}' >> ${STAGEDIR}${PREFIX}/bin/${exe}
. endfor
${ECHO} '' >> ${STAGEDIR}${PREFIX}/bin/${exe}
${ECHO} '${PREFIX}/libexec/cabal/${exe} "$$@"' >> ${STAGEDIR}${PREFIX}/bin/${exe}
${ECHO} '${PREFIX}/${CABAL_LIBEXEC}/${exe} "$$@"' >> ${STAGEDIR}${PREFIX}/bin/${exe}
${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${exe}
. endfor
. endif
@ -159,7 +179,7 @@ do-install:
cabal-post-install-script:
. for exe in ${EXECUTABLES}
${ECHO_CMD} 'bin/${exe}' >> ${TMPPLIST}
${ECHO_CMD} 'libexec/cabal/${exe}' >> ${TMPPLIST}
${ECHO_CMD} '${CABAL_LIBEXEC}/${exe}' >> ${TMPPLIST}
. endfor
. endif

View File

@ -48,7 +48,7 @@
#
# This variable must not be set by individual ports!
#
# MAINTAINER: jlaffaye@FreeBSD.org
# MAINTAINER: dg@syrec.org
.if !defined(_INCLUDE_USES_GO_MK)
_INCLUDE_USES_GO_MK= yes
@ -100,7 +100,6 @@ BUILD_DEPENDS+= ${GO_CMD}:${GO_PORT}
.if ${go_ARGS:Mrun}
RUN_DEPENDS+= ${GO_CMD}:${GO_PORT}
.endif
PLIST_SUB+= GO_PKGNAME=${GO_PKGNAME}
_USES_POST+= go
.endif # !defined(_INCLUDE_USES_GO_MK)
@ -117,13 +116,13 @@ post-extract:
.if !target(do-build) && empty(go_ARGS:Mno_targets)
do-build:
(cd ${GO_WRKSRC}; \
${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} install ${GO_BUILDFLAGS} ${GO_TARGET})
${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} install ${GO_BUILDFLAGS} ${GO_TARGET:S/^${PORTNAME}$/./})
.endif
.if !target(do-install) && empty(go_ARGS:Mno_targets)
do-install:
.for _TARGET in ${GO_TARGET}
${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${_TARGET:T} ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/${_TARGET:T:S/^.$/${PORTNAME}/} ${STAGEDIR}${PREFIX}/bin
.endfor
.endif

View File

@ -54,7 +54,7 @@ _KDE_RELNAME= KDE${_KDE_VERSION}
# === VERSIONS OF THE DIFFERENT COMPONENTS =====================================
# Current KDE desktop.
KDE_PLASMA_VERSION?= 5.16.3
KDE_PLASMA_VERSION?= 5.16.4
KDE_PLASMA_BRANCH?= stable
# Current KDE frameworks.

View File

@ -43,8 +43,12 @@ FIREBIRD_DEFAULT?= 2.5
FORTRAN_DEFAULT?= gfortran
# Possible values: 3.0.4
FPC_DEFAULT?= 3.0.4
# Possible values: 7, 8, 9
# Possible values: 7, 8, 9 (powerpcspe was dropped with GCC 9)
.if ${ARCH} == "powerpcspe"
GCC_DEFAULT?= 8
.else
GCC_DEFAULT?= 9
.endif
# Possible values: 7, 8, 9, agpl
GHOSTSCRIPT_DEFAULT?= agpl
# Possible values: 0.6, 0.7, 1.0, 1.1

View File

@ -25,13 +25,14 @@ Java_Include_MAINTAINER= java@FreeBSD.org
#
# JAVA_VERSION List of space-separated suitable java versions for the
# port. An optional "+" allows you to specify a range of
# versions. (allowed values: 1.6[+] 1.7[+] 1.8[+])
# versions. (allowed values: 6[+] 7[+] 8[+] 9[+] 10[+]
# 11[+] 12[+])
#
# JAVA_OS List of space-separated suitable JDK port operating systems
# for the port. (allowed values: native linux)
#
# JAVA_VENDOR List of space-separated suitable JDK port vendors for the
# port. (allowed values: openjdk oracle sun)
# port. (allowed values: openjdk oracle)
#
# JAVA_BUILD When set, it means that the selected JDK port should be
# added to build dependencies for the port.
@ -54,11 +55,11 @@ Java_Include_MAINTAINER= java@FreeBSD.org
#
# JAVA_PORT The name of the JDK port. (e.g. 'java/openjdk6')
#
# JAVA_PORT_VERSION The version of the JDK port. (e.g. '1.6')
# JAVA_PORT_VERSION The version of the JDK port. (e.g. '6')
#
# JAVA_PORT_OS The operating system used by the JDK port. (e.g. 'linux')
#
# JAVA_PORT_VENDOR The vendor of the JDK port. (e.g. 'sun')
# JAVA_PORT_VENDOR The vendor of the JDK port. (e.g. 'openjdk')
#
# JAVA_PORT_OS_DESCRIPTION Description of the operating system used by the
# JDK port. (e.g. 'Linux')
@ -76,7 +77,7 @@ Java_Include_MAINTAINER= java@FreeBSD.org
# '/usr/local/openjdk6/bin/jar' or '/usr/local/bin/fastjar')
#
# APPLETVIEWER Path to the appletviewer utility. (e.g.
# '/usr/local/linux-jdk1.7.0/bin/appletviewer')
# '/usr/local/linux-jdk1.8.0/bin/appletviewer')
#
# JAVA Path to the java executable. Use this for executing Java
# programs. (e.g. '/usr/local/openjdk6/bin/java')
@ -130,6 +131,9 @@ Java_Include_MAINTAINER= java@FreeBSD.org
. if defined(USE_JAVA)
. if !defined(JAVA_VERSION) && empty(USE_JAVA:C/[0-9]*[\.]*[0-9]*[+]*//)
JAVA_VERSION=${USE_JAVA}
. endif
#-------------------------------------------------------------------------------
# Stage 1: Define constants
@ -159,39 +163,47 @@ SUB_LIST+= JAVA_OS="${JAVA_OS}"
. endif
# The complete list of Java versions, os and vendors supported.
__JAVA_VERSION_LIST= 1.6 1.7 1.8 1.9
__JAVA_VERSION_LIST= 6 7 8 9 10 11 12
_JAVA_VERSION_LIST= ${__JAVA_VERSION_LIST} ${__JAVA_VERSION_LIST:S/$/+/}
_JAVA_OS_LIST= native linux
_JAVA_VENDOR_LIST= openjdk oracle sun
_JAVA_VENDOR_LIST= openjdk oracle
# Set all meta-information about JDK ports:
# port location, corresponding JAVA_HOME, JDK version, OS, vendor
_JAVA_PORT_NATIVE_OPENJDK_JDK_1_6_INFO= PORT=java/openjdk6 HOME=${LOCALBASE}/openjdk6 \
VERSION=1.6.0 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_1_7_INFO= PORT=java/openjdk7 HOME=${LOCALBASE}/openjdk7 \
VERSION=1.7.0 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_1_8_INFO= PORT=java/openjdk8 HOME=${LOCALBASE}/openjdk8 \
VERSION=1.8.0 OS=native VENDOR=openjdk
_JAVA_PORT_LINUX_ORACLE_JDK_1_8_INFO= PORT=java/linux-oracle-jdk18 HOME=${LOCALBASE}/linux-oracle-jdk1.8.0 \
VERSION=1.8.0 OS=linux VENDOR=oracle
_JAVA_PORT_LINUX_ORACLE_JDK_1_9_INFO= PORT=java/linux-oracle-jdk9 HOME=${LOCALBASE}/linux-oracle-jdk9 \
VERSION=1.9.0 OS=linux VENDOR=oracle
_JAVA_PORT_NATIVE_OPENJDK_JDK_6_INFO= PORT=java/openjdk6 HOME=${LOCALBASE}/openjdk6 \
VERSION=6 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_7_INFO= PORT=java/openjdk7 HOME=${LOCALBASE}/openjdk7 \
VERSION=7 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_8_INFO= PORT=java/openjdk8 HOME=${LOCALBASE}/openjdk8 \
VERSION=8 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_11_INFO= PORT=java/openjdk11 HOME=${LOCALBASE}/openjdk11 \
VERSION=11 OS=native VENDOR=openjdk
_JAVA_PORT_NATIVE_OPENJDK_JDK_12_INFO= PORT=java/openjdk12 HOME=${LOCALBASE}/openjdk12 \
VERSION=12 OS=native VENDOR=openjdk
_JAVA_PORT_LINUX_ORACLE_JDK_8_INFO= PORT=java/linux-oracle-jdk18 HOME=${LOCALBASE}/linux-oracle-jdk1.8.0 \
VERSION=8 OS=linux VENDOR=oracle
_JAVA_PORT_LINUX_ORACLE_JDK_9_INFO= PORT=java/linux-oracle-jdk9 HOME=${LOCALBASE}/linux-oracle-jdk9 \
VERSION=9 OS=linux VENDOR=oracle
_JAVA_PORT_LINUX_ORACLE_JDK_10_INFO= PORT=java/linux-oracle-jdk10 HOME=${LOCALBASE}/linux-oracle-jdk10 \
VERSION=10 OS=linux VENDOR=oracle
# Verbose description for each VENDOR
_JAVA_VENDOR_openjdk= "OpenJDK BSD Porting Team"
_JAVA_VENDOR_oracle= Oracle
_JAVA_VENDOR_sun= Sun
# Verbose description for each OS
_JAVA_OS_native= Native
_JAVA_OS_linux= Linux
# List all JDK ports in order of preference
__JAVA_PORTS_ALL= JAVA_PORT_NATIVE_OPENJDK_JDK_1_8 \
JAVA_PORT_NATIVE_OPENJDK_JDK_1_7 \
JAVA_PORT_NATIVE_OPENJDK_JDK_1_6 \
JAVA_PORT_LINUX_ORACLE_JDK_1_8 \
JAVA_PORT_LINUX_ORACLE_JDK_1_9
__JAVA_PORTS_ALL= JAVA_PORT_NATIVE_OPENJDK_JDK_8 \
JAVA_PORT_NATIVE_OPENJDK_JDK_11 \
JAVA_PORT_NATIVE_OPENJDK_JDK_12 \
JAVA_PORT_NATIVE_OPENJDK_JDK_7 \
JAVA_PORT_NATIVE_OPENJDK_JDK_6 \
JAVA_PORT_LINUX_ORACLE_JDK_8 \
JAVA_PORT_LINUX_ORACLE_JDK_9 \
JAVA_PORT_LINUX_ORACLE_JDK_10
_JAVA_PORTS_ALL= ${JAVA_PREFERRED_PORTS} \
${__JAVA_PORTS_ALL}
@ -264,7 +276,7 @@ JAVA_RUN= jre
. undef _JAVA_PORTS_INSTALLED
. undef _JAVA_PORTS_POSSIBLE
. if defined(JAVA_VERSION)
_JAVA_VERSION= ${JAVA_VERSION:S/1.6+/1.6 1.7+/:S/1.7+/1.7 1.8+/:S/1.8+/1.8 1.9+/:S/1.9+/1.9/}
_JAVA_VERSION= ${JAVA_VERSION:S/1.6+/1.6 1.7+/:S/1.7+/1.7 1.8+/:S/1.8+/1.8 1.9+/:S/1.9+/1.9 10+/:S/1.6/6/:S/1.7/7/:S/1.8/8/:S/1.9/9/:S/6+/6 7+/:S/7+/7 8+/:S/8+/8 9+/:S/9+/9 10+/:S/10+/10 11+/:S/11+/11 12+/:S/12+/12/}
. else
_JAVA_VERSION= ${__JAVA_VERSION_LIST}
. endif
@ -282,7 +294,7 @@ _JAVA_VENDOR= ${_JAVA_VENDOR_LIST}
. for A_JAVA_PORT in ${_JAVA_PORTS_ALL}
A_JAVA_PORT_INFO:= ${A_JAVA_PORT:S/^/\${_/:S/$/_INFO}/}
A_JAVA_PORT_HOME= ${A_JAVA_PORT_INFO:MHOME=*:S,HOME=,,}
A_JAVA_PORT_VERSION= ${A_JAVA_PORT_INFO:MVERSION=*:C/VERSION=([0-9])\.([0-9])(.*)/\1.\2/}
A_JAVA_PORT_VERSION= ${A_JAVA_PORT_INFO:MVERSION=*:S,VERSION=,,}
A_JAVA_PORT_OS= ${A_JAVA_PORT_INFO:MOS=*:S,OS=,,}
A_JAVA_PORT_VENDOR= ${A_JAVA_PORT_INFO:MVENDOR=*:S,VENDOR=,,}
.if !defined(_JAVA_PORTS_INSTALLED) && exists(${A_JAVA_PORT_HOME}/${_JDK_FILE})

View File

@ -155,7 +155,7 @@ RUBY?= ${LOCALBASE}/bin/${RUBY_NAME}
# Ruby 2.4
#
RUBY_RELVERSION= 2.4.6
RUBY_PORTREVISION= 1
RUBY_PORTREVISION= 2
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0
RUBY24= "" # PLIST_SUB helpers
@ -165,7 +165,7 @@ RUBY24= "" # PLIST_SUB helpers
# Ruby 2.5
#
RUBY_RELVERSION= 2.5.5
RUBY_PORTREVISION= 2
RUBY_PORTREVISION= 3
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0
RUBY25= "" # PLIST_SUB helpers
@ -175,7 +175,7 @@ RUBY25= "" # PLIST_SUB helpers
# Ruby 2.6
#
RUBY_RELVERSION= 2.6.3
RUBY_PORTREVISION= 2
RUBY_PORTREVISION= 3
RUBY_PORTEPOCH= 1
RUBY_PATCHLEVEL= 0
RUBY26= "" # PLIST_SUB helpers

4
UIDs
View File

@ -184,11 +184,11 @@ openhab:*:235:235::0:0:openHAB user:/var/db/openhab2/home:/usr/sbin/nologin
rspamd:*:236:236::0:0:rspamd pseudo-user:/nonexistent:/usr/sbin/nologin
paperless:*:237:237::0:0:paperless user:/var/db/paperless:/bin/sh
sonic:*:238:238::0:0:sonic user:/var/db/sonic:/usr/sbin/nologin
# free: 239
restserver:*:239:239::0:0:restic rest-server Daemon:/var/db/restserver:/usr/sbin/nologin
aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh
tnc:*:241:241::0:0:aprsd:/nonexistent:/bin/sh
prosody:*:242:242::0:0:Prosody Jabber Server:/nonexistent:/usr/sbin/nologin
# free: 243
ot-recorder:*:243:243::0:0:OwnTracks Recorder:/nonexistent:/usr/sbin/nologin
mastodon:*:244:244::0:0:Mastodon User:/usr/local/www/mastodon:/bin/sh
# free: 245
# free: 246

View File

@ -6,6 +6,17 @@ You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20190728:
AFFECTS: users of net-im/py-matrix-synapse
AUTHOR: kai@FreeBSD.org
The support for Python 2.7 has been dropped with the 1.1.0 release of
net/py-matrix-synapse.
Users that still use the Python 2.7 version of net-im/py-matrix-synapse
should switch to a newer Python version, e.g. 3.6, which is the default
Python version since April 2019.
20190717:
AFFECTS: users of sysutils/py-borgmatic
AUTHOR: egypcio@FreeBSD.org