unexpectedly getting readline from ports if it's already installed.
- Add patch to work with newer libreadline
- Provide an option to use libedit from ports, avoiding the libedit in base.
- Note 1: The patch to work with newer libreadline is only applied in the
libreadline case since it actually breaks building with libedit.
- Note 2: libreadline is not BSD licensed and while libedit would be
preferable, it seems to have issues with UTF8 still, see ruby bug 9204. Once
that's resolved, we can make libedit the default.
PR: ports/187928 [1] (based on)
PR: ports/188077 [2] (based on)
Submitted by: Shin-ya Murakami <murashin@gfd-dennou.org> [1]
Submitted by: Christoph Moench-Tegeder <cmt@burggraben.net> [2]
Obtained from: http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/readline/readline.c?r1=43458&r2=45225 (ruby upstream)
MFH: 2014Q2
version ranges
old:
~/svn/ports/databases/libdrizzle # make
===> libdrizzle-0.8_1 depends on package: doxygen>=0 - not found
pkg-static: No package(s) matching doxygen
===> Verifying install for doxygen>=0 in /root/svn/ports/devel/doxygen
new:
~/svn/ports/databases/libdrizzle # make build-depends
===> libdrizzle-0.8_1 depends on package: doxygen>=0 - not found
===> Verifying install for doxygen>=0 in /root/svn/ports/devel/doxygen
With hat: portmgr
which is intended to be used with WITH_DEBUG, allowing the system to build
packages with debugging symbols enabled and kept in build environment but
do not install them with the resulting binaries.
PR: ports/185309
Submitted by: delphij
Reviewed by: bdrewery
USE_PERL5=configure or USE_PERL5=modbuildtiny.
- Change perl5.mk to use a specific target and not abuse post-stage.
Reviewed by: bapt
With Hat: portmgr
Sponsored by: Absolight
- Add DOCS and NVIDIA_GL options
- Restore MASTER_SITES
- Install without using custom commands
- Take maintainership (former maintainer agreed by private mail)
- For MASTER_SITE_IDSOFTWARE, remove ftp.chg.ru (looks dead) and add ftp.gwdg.de
- .DS_Store files
- some VCS related files
Note: it's still recommended to not extract/install those files if they are
not needed
PR: ports/189859
Submitted by: adamw (first version)
Reviewed by: bapt
With hat: portmgr
and @cwd has changed away from PREFIX:
plist:
@cwd /
@dirrmtry var/spool/dma
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
DIR '/usr/local/etc/dma' CWD: /usr/local
DIR '/usr/local/var/spool/dma' CWD:
DIR 'share/licenses/dma-v0.9,1' CWD: /usr/local
DIR '/usr/local/share/licenses' CWD: /usr/local
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: @unexec rmdir "/var/spool/dma" >/dev/null 2>&1 || :
===> Checking for directories owned by MTREEs
===> Checking for directories handled by dependencies
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: @dirrmtry var/spool/dma
===> Error: Plist issues found.
With hat: portmgr
Reported by: erwin
To enable this for a particular port, add "cpe" to the USES list and
optionally define CPE_VENDOR, CPE_PRODUCT etc. if the defaults are not
correct (they should be in most cases).
Approved by: portmgr (bdrewery)
Separate file(1) and stat(1) output by a newline and read each line
individually to avoid losing spaces.
- Use <<-EOF with heredocs to avoid bad indent
- Add some more comments
- Quote filenames in output so it is less unclear
Spotted by: mandree
Reviewed by: antoine
With hat: portmgr
doesn't satisfy, prefer PYTHON2_DEFAULT or PYTHON3_DEFAULT over other
versions.
Previously, python34 was choosen despite python33 being the default python3.
Silence from: python
With hat: portmgr
autoconf, autoheader, automake. [1]
This should allow replacing custom pre-configure and run-autotools
targets that some ports have with USE_AUTOTOOLS.
- Set default LIBTOOLIZE_ARGS:
-i: install missing build scripts.
-c: copy files instead of linking them. This is needed for USES=libtool
to be able to patch them.
-f: force replacement of existing files. This ensures all files belong
to the same version.
database/vsqlite:
- Fix with new LIBTOOLIZE_ARGS.
- INSTALL_TARGET=install-strip.
- Drop :keepla.
Reported by: Nikola Kolev <koue@chaosophia.net> [1]
Exp-run: antoine
Approved by: portmgr (antoine)
Add WANT_PGSQL=client support
Do not test WANT_PGSQL if it is not defined
Fix a couple of typos makeing it unusable
add WANT_PGSQL=lib (default it nothing is specified)
only depends on library if no WANT_PGSQL is set or lib is explicitly
added to WANT_PGSQL
Since FreeBSD 8.4 and FreeBSD 9.1 make(1) do support :tu and :tl as a
replacement for :U and :L (which has been marked as deprecated)
bmake which is the default on FreeBSD 10+ only support by default
:tu/:tl a hack has been added at the time to support :U and :L to ease
migration. This hack is now not necessary anymore
Note that this makes the ports tree incompatible with make(1) from
FreeBSD 8.3 or earlier
With hat: portmgr
HOME=/dev/null to avoid staging violations. This will force
CCACHE_DIR=/root/.ccache when running as root, and otherwise
will force CCACHE_DIR to be manually set.
With hat: portmgr
PR: ports/186410 [textproc/xmlto build]
Reported by: mandree, Rainer Duffner <rainer@ultra-secure.de>
MFH: 2014Q2
- Update Firefox ESR to 24.5.0
- Update Thunderbird to 24.5.0
- Update NSS to 3.16
- Use port dependency for soundtouch library
- Require recent graphite2 version explicitly [1]
- Require gst-libav version that doesn't crash on seeking [2]
and doesn't error out on plugin load [3]
- Remove gstreamer note in pkg-message for www/firefox, [3] may still
happen with www/firefox-esr but only until it tracks esr31 (ca 2014-09-01)
- Fix USE_XPI in mail/thunderbird-i18n [4]
Security: http://www.vuxml.org/freebsd/985d4d6c-cfbd-11e3-a003-b4b52fce4ce8.html
PR: ports/187939 [1]
PR: ports/188133 [2]
PR: ports/181964 [3]
PR: ports/188984 [4]
Submitted by: Toomas Aas <toomas.aas@raad.tartu.ee> [1]
Submitted by: Jakub Lach <jakub_lach@mailplus.pl> [2]
Submitted by: Jan Beich [3] and this update!
Submitted by: Toni Ballesta <mustelator@yahoo.es> [4]
Approved by: portmgr (bdrewery, security update to non-staged port)
when doing plist checks. This could leak out if an unsupported format
was used such as 'rmdir -p' or 'rmdir dir1 dir2 dir3'
With hat: portmgr
Reported by: antoine
Pointyhat to: bdrewery
over java/openjdk8. java/openjdk8 is still in its infancy.
- Retire redundant _JAVA_PREFERRED_PORTS hack. We only have one preferred
port since r290539 and we want to keep it that way.
if not yet installed and WITH_PKGNG is set. Just skip the
vulnerabilities check as intended in r315599.
With hat: portmgr
Reported by: diizzy on EFNet
Pointyhat to: bdrewery (with interest)
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).
PORTREVISION is bumped on all ports with USES=libtool that install .la
libraries. Most ports are also changed to add :keepla because .la
libraries have to be kept around as long as there are dependent ports with
.la libraries that refer to them in their dependency_libs field. In most
cases :keepla can be removed again as soon as all dependent ports that
install .la libraries have some form of USES=libtool added to their
Makefile.
PR: ports/188759
Exp-run: bdrewery
Approved by: portmgr (bdrewery)
change the cwd for commented lines (such as %%OPTION%%file). Reset it
back to the normal on the first non-commented line.
- Sort files after stripping out @comment
With hat: portmgr
- Split dependency-owned check its own and make into a non-fatal warning.
This is not black-and-white. Python/Rubygem ports cleanup the lib dir
for every installed package, and for python/ruby-gems too. This is fine,
the extensions should not clean them up then; the error is valid here.
However, there's other frameworks which don't cleanup in the master package
and yield unexpected results. An example is that php does not cleanup
etc/php itself. Only extensions do. So if an extension depends on another
extension it will complain that the dependent extension owns etc/php,
so we remove from bsd.php.mk, now it's a leftover. The proper place is in the
php port itself, but it's unknown how many other cases there are like this.
So for now make this non-fatal and into a warning.
This is all mostly moot once pkg auto handles directories anyhow.
With hat: portmgr
Discussed with: antoine
- Bug fixes:
makeplist/check-plist:
- Fix showing directories owned by RUN_DEPENDS/LIB_DEPENDS [1]
- Use proper "rmdir PATH" syntax, not "rmdir >/dev/null... PATH" which
pkg will not recognize.
- Never consider base /etc/mtree/BSD.usr.dist or LOCLABASE
Templates/BSD.local.dist as needing @dirrm handling.
check-plist:
- Fix showing PORTDOCS/PORTEXAMPLES files when the OPTIONS are not set.
makeplist will still suggest them.
- Fix showing files installed through unselected OPTIONS as orphans,
by considering "@comment file" to be ignored. [2]
- Fix @sample, @fc, @fcfontsdir, @fontsdir support
- Fix return status when orphans are found to be non-zero
- Add note when PREFIX=!LOCALBASE
- Be more clear when orphans/no orphans are found.
- Add a whitelist mechanism for globally approved ignores.
- Add *.bak/*.orig to orphan whitelist for now.
- Fix false-positive with dirs installed to /, such as with
archivers/dpkg creating /var/db/dpkg
- Fix false-positive with @dirrm ending in /, such as with
ports-mgmt/poudriere with a @dirrmtry share/zsh/
- There are likely still some false-positives. I fixed as many as I could
find. Please let me know of others.
* One in particular that is not easily fixable is installing a file into
a directory owned by another port where that other port is not a run-time
dependency. So the leaf port may create all of the parent dirs and never
clean them up. Cleaning them up is not proper unless no other package is
depending on them. This will be addressed by pkg(8) once pkg_install is
EOL, or sooner.
- Consider @dirrm of directories owned by run-time dependencies, or
/etc/mtree/* or Templates/BSD.local.dist (at LOCALBASE) as fatal errors.
These should not be removed in the plist. @comment lines are not
considered for this; they will not ignore an error.
===> Checking for directories owned by dependencies or MTREEs
Error: Owned by dependency: @dirrmtry share/locale/af/LC_MESSAGES
Error: Owned by dependency: @dirrmtry share/locale/af
Error: Owned by dependency: @dirrmtry %%PERL5_MAN3%%
- Detect files in plist that do not exist in the stagedir. Pkgng already did
this, but now we have it unified with this check. @comment lines are
not considered for this; they will not ignore an error.
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: foo
Error: Missing: @dirrmtry bar
- Change orphaned output due to several new errors introduced:
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: foo
- Send errors to stderr
check_leftovers.sh:
- Prefer longer values for PLIST_SUB.
bsd.options.mk:
- Fix NOPORTDOCS/WITHOUT_NLS/NOPORTEXAMPLES not unsetting their respective
OPTIONS.
- Mark NOPORTDOCS/NOPORTEXAMPLES deprecated and hook them into the
OPTIONS_WARNING to tell users the new format.
- check-stagedir.sh refactoring:
- Switch to using new PLIST_SUB_SED
- Use ! instead of , in sed(1) regex to allow files/dirs with ','
- Rework PORTEXAMPLES/PORTDOCS handling so it acts on PLIST_SUB_SED'd
value and not absolutes. Also simplify the regex for these a bit to
allow reuse.
- No longer need DOCSDIRS/EXAMPLESDIR in env
- Wrap long lines
- Unset some vars in env when they are done being used to free space for
larger sed vars
- Cleanup redundant sed regexes
- Add a Scripts/plist_sub_sed_sort.sh to prefer longer values when substituting
over shorter values.
- To make check-plist ignore a file *as an orphan* do one of the following:
1. Install it
2. post-install: ${RM} ${STAGEDIR}file
3. Put the file behind an OPTION with a PLIST_SUB: %%OPTION%%file
4. Add to plist as a @comment [2]:
@comment file
@comment @dirrmtry dir
Reviewed by: mat (much earlier version)
Discussed with: mat, antoine, bapt, swills (various bits)
With hat: portmgr
PR: ports/185561 [1]
Reported By: Alexander Yerenkow <yerenkow@gmail.com> [1]
Tested with: pkg and pkg_install
Reported by: many (false-positives)
[2] This is a partial solution, we may still need a plist.ignore too. It
doesn't make much sense to add files in main pkg-plist we don't care about,
but maybe it does since you'll see and reconsider them being ignored
someday. @comment is used as all the OPTION PLIST_SUB deactivations use
@comment instead of something like @ignore.
- Avoid a redundant 'test -d'
- Properly show %%PORTEXAMPLES%% %%PORTDOCS%% where needed
- Avoid some forking for always-ignored files
With hat: portmgr
This will contain all approved/whitelisted leftovers in a single
reference. It will also allow us to update the whitelist without
needing a new release of poudriere/tinderbox and forcing users
to update those tools.
Usage: env PORTSDIR=... check_leftovers.sh category/port
stdin:
- missing-file
+ new-file
M modified-file reason...
stdout:
same -/+/M format, but with files substituted, without approved
whitelisted files, and hides any directories already in plist.
- Add /var/qmail/queue to the list of whitelisted directories just as
/var/mail is. This queue directory contains mails in flight and may receive
or have mail removed during an upgrade.
Obtained from: Mostly poudriere
Reviewed by: antoine
With hat: portmgr
paths. This will be used for check-stagedir.sh and poudriere/tinderbox
leftover handling.
This version handles several flaws of other implementations:
- Remove VARS that are too generic
- Remove empty values
- Remove @comment values
- Remove quotes
- Replace . with \. for later sed(1) usage
- Handle values with spaces
- By default only use values 2+ characters long. Let this be overridable
with PLIST_SUB_SED_MIN.
Reviewed by: antoine, mat
With hat: portmgr
bug [1] requiring it to be even if creating from STAGEDIR. This is only done
when NO_STAGE is not set and for pkg_install.
This fixes the following error with 'make package' from stagedir:
pkg_create: couldn't resolve path for prefix: /var/qmail: No such file or directory
[1] This is due to base r231300 requiring the prefix to exist when
running pkg_create (which may not be true in staging). This was
fixed in r240682, but never made it to 9.1
With hat: portmgr
a zeising, kwm production, with help from dumbbell, bdrewery:
NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE
This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.
This patch also contains updates of libxcb and related ports, pixman, as well
as some drivers and utilities.
Bump portrevisions for xf86-* ports, as well as virtualbox-ose-additions due
to xserver version change.
Apart from these updates, the way shared libraries are handled has been
changed for all xorg ports, as well as libxml2 and freetype, which means
ltverhack is gone and as a consequence shared libraries have been bumped.
The plan is that this change will make library bumps less likely in the
future.
All affected ports have had their portrevisions bumped as a consequence of
this.
Fix some issues where WITH_NEW_XORG weren't detected properly on CURRENT.
Update instructions, hardware support, and more notes can be found on
https://wiki.freebsd.org/Graphics
Thanks to: all testers, bdrewery and the FreeBSD x11@ team
exp-run by: bdrewery [1]
PR: ports/187602 [1]
Approved by: portmgr (bdrewery), core (jhb)
This is so that 'make' followed by 'make deinstall install' will, by default,
have a much shorter period of files missing on the system as it is without
staging.
Discussed with: bapt
With hat: portmgr
It accepts a file (must end in .sample, this is not configurable):
@sample file.conf.sample
This will install file.conf.sample and copy it to file.conf. The file.conf
will be removed if it matches file.conf.sample on deinstall.
This replaces older patterns of:
@unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi
etc/pkgtools.conf.sample
@exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf
[1] This somewhat obsoletes work in ports/157168 which added CONF_FILES,
but we have been moving towards more logic in pkg-plist where possible
and less magical macros. Though this thinking does clash with autoplist
ideas. We may still want CONF_FILES, which just drops a list of
@sample entries into the plist anyway.
- Add a Keywords/pkg_install.awk and hook it into generate-plist. This is
for pkg_install compatibility since it does not know how to read
Keywords/sample.yaml.
This file gives us a strategy to implement more keywords before
pkg_install is EOL.
Keywords are documented here:
bffc31420b
- This needs to be documented in PH and portlint support added still.
PR: ports/157168 [1]
Discussed with: bapt
Reviewed by: bapt
Requested by: many
With hat: portmgr
Add support for matching additional pkgconfig libdir entries
that were found in Python's Makefile.pre.in.
It can also be used by other ports [1] by setting PATHFIX_MAKEFILEIN to the
appropriate filename in ${WRKSRC}.
If this file grows support for other pathfix'es beyond Makefile's and
autoconf sources, it may be worth renaming PATHFIX_MAKEFILEIN in future
to suit the broader scope.
[1] Examples: devel/ptlib, graphics/zathura (thanks antoine)
Reviewed by: antoine
Approved by: antoine (exp-run)
MFH: 2014Q2
The FreeBSD Python Team warmly welcomes Python 3.4 to the Ports tree:
- Add lang/python34
- Add devel/py-setuptools34
- Add Python 3.4.0 docs to lang/python-doc
Release Announcement and Major Features:
https://www.python.org/download/releases/3.4.0/
This also marks the next stage of a cleaner, much-closer-to-upstream
approach to Python on FreeBSD, that builds upon the hard work of the
entire FreeBSD Python team over the last year.
This port is built "entirely" from scratch, retiring as much of the
legacy, workarounds, patches and hacks from the existing Python
ports as possible.
Of particular note: static + shared dual-build is gone, as it was flaky
at best, grossly untested upstream and caused more issues than it
solved. It is replaced by a shared build by default. The static python
library remains installed and usable.
Major changes in this structure are:
- Replace dual static and shared in-tree build with shared-only.
- Use options helpers
- Replace plat-freebsd* hacks with a lighter weight alternative
- Strip all libraries and shared extensions
- Only retain patches that are absolutely necessary
- Replace static disabled_module_list with one from upstream
- Retain NIS and sparc64 workarounds from python33
- Deprecate SEM option, no longer optional.
- Deprecate PTH option, no longer maintained or supported upstream
- Deprecate FPECTL option, no longer maintained or supported upstream
- Add upstream issue references & breadcrumb annotations where possible
Tested by: many (Special thanks to Andrew Berg)
Reviewed by: xmj, nemysis, antoine