* Update lang/ghc to 8.4.2
* Update the boostrap compiler to 8.4.1
* Update the many hs-* ports
* Bump the rest
Thanks a lot to arrowd for doing all the heavy lifting :)
PR: 227968
Exp-run by: antoine
Submitted by: arrowd
Differential Revision: https://reviews.freebsd.org/D15005
time ago, but decided to not expose it in the man-page, since portmaster
will not necessarily install the latest version if installing from local
Jpackages is requested and there exist multiple package files that only
differ in archive format. But since a non-standard package format allows
to choose between an optimization for speed or for disk space, this is a
useful option that shall be described in the man page.
Approved by: antoine (implicit)
called before being defined.
The issue and cause has been reported by Herbert J. Skuhra. (Thanks!)
PR: 227882
Reported by: Herbert J. Skuhra <herbert@gojira.at>
Approved by: antoine (implicit)
The quoting was messed up by use of "eval" and the cached values did not
match what the ports system expected.
Submitted by: tijl
Reported by: tijl
Approved by: antoine (implicit)
and over for individual ports. This significantly reduces the time to scan
for updates if many ports with USES=compiler are present.
Based on a suggestion and code fragment provided by Tijl Coosemans.
While here commit a few changes present in my local version that should not
cause any functional change.
Submitted by: tijl
Approved by: antoine (implicit)
Fix a regression in the mae makepatch check.
Make sure only the patch header is checked, but make sure
to read in the entire patch file. This regression was
introduced in 2.18.0.
PR: 228203
Soften the py-* dependency error around flavors.
Now the message is a warning and a suggestion. This is pending more discussion,
but this seems like a good compromise for now.
PR: 225654
Requested by: antoine
* Fix the check for duplicate SHEBANG_LANG values [1]
* Check to make sure patch files end with newlines [2]
* Allow flavored *_DEPENDS in the DEPENDS section [3]
* Check that kde:4 OR kde:5 is defined with USE_KDE [4]
* Add a check to make sure pkg-descr is at least a certain number of lines [5]
* Fix a couple of typos [6] [7]
* Allow for any *_DEPENDS item in the DEPENDS section and fix a bug in the
dependency syntax checking [8]
* Add a check to make sure Python dependencies include a FLAVOR [9]
PR: 226709 [1]
226109 [2]
226581 [3]
227255 [5]
227729 [6]
227878 [7]
227556 [8]
225654 [9]
Submitted by: tcberner [4]
0mp [5][6][7]
Differential Revision: D13723 [4]
- jail -u freebsd-update: Auto confirm prompts
- bulk tests: Don't let system perl interfere with the partial tree used.
- compute_deps: Determine all errors before bailing out
- Cleanup code
- Speed up and strictly check package's dependencies
- While here, pet portlint by using pkg-plist instead of PLIST_FILES
PR: 227730
Submitted by: kdeguchi@sz.tokoha-u.ac.jp (maintainer)
Approved by: pi (mentor)
- Add BASH option for completion installation
- ports_env: set UID=0 to avoid id -u lookups.
- Remove USE_PTSORT=no support and only use ptsort.
- Remove POOL_BUCKETS option
- Only set POOL_BUCKET_DIRS from load_priorities()
- SIGINFO: Reverse phase and total times to: phase / total
The original change order was confusing but so is the change. It may
ultimately be reverted.
- USE_CACHED=yes: Block using this as it does not work.
- Fix '3: Bad file descriptor' on crashed build
- Format crashed build with JOB_ID if possible
- MUTABLE_BASE=schg: Exclude immutable paths from mtree comparisons
- markfs: No need to rewrite the mtree file every time, just share it from
MASTERMNT
- Always null-mount ro /usr/lib32
- Remove references to INDEX - support removed in 0bef52955606412ac64aceddde6
- MUTABLE_BASE=schg: Need to track flags for mtree
- MUTABLE_BASE=schg mtree: Don't ignore changes to schg files with testport
or bulk -t
- Remove some shash buckets once no longer needed.
- Fix some error spam in bulk.
- Exclude /root from build_fs_violation.
- MUTABLE_BASE=schg: Allow writing new files to /boot.
- Move ALLOW_MAKE_JOBS_PACKAGES handle to remove misleading DISABLE_MAKE_JOBS
in buildlog make.conf
- bulk: Spawn builds in their own process group.
Block SIGTTOU/SIGTTIN to avoid stopping on tty access.
- kill_job: Don't show jobid warning.
- Close stdin at exit in case an interrupted redirection is referencing the
jail which results in umount warnings.
- processonelog: Detect pkg's conflict line
- processonelog: Try to detect immutable base failures
- Create /home and /usr/home paths in port build startup
- MUTABLE_BASE=schg: Allow writing to /usr/home
- poudriere: Default -e to /usr/local/etc for non-install executions
- options: Don't pass FLAVOR as a make arg - which may break downstream ports
- testport -c: Don't pass FLAVOR as a make argument
- testport: Show log summary at the end
- Support PKG_NOCOMPRESS in make.conf
- CCACHE_STATIC_PREFIX: Add CCACHE_JAIL_PREFIX for overriding /ccache in jail
- MUTABLE_BASE=schg + CCACHE_STATIC_PREFIX: Allow ccache-update-links to work
properly
- Add bash completion script
- Don't consider /var/crash/*.core as build_fs_violations
- distclean: Suck in ports_env which brings a big performance improvement.
- bulk: Add validation to check for dependencies with empty FLAVOR 'foo/bar@'
- Split poudriere.8 into subpages.
- jail -x: Fix error installing /nxb-bin with HEAD host 11 jail
- Fix double error when a dependency error is found.
- testport: Trim away excess '/' as done for bulk and dependencies.
- Fix finding aarch64 binutils for <head after ports r461058.
- jail -s: Always start with MUTABLE_BASE=yes
- Avoid copying or comparing /var/db/etcupdate into the jails.
- Add a MUTABLE_BASE=schg (rename 'no' to 'nullfs' and default to 'schg')
for testing. This will significantly reduce files copied during jail
rollback between package builds. It is supported on USE_TMPFS=all and
NO_ZFS=yes. It restricts writes to only /boot /etc /root /var and
/usr/local. Custom PREFIX/LOCALBASE likely won't work yet.
- Sort some usage output.
- Manpage cleanup.
- bulk: use buffered reads for various operations.
- timestamp: rewritten.
- Add more tests.
- Various performance improvements.
- TMPFS_ALL: reduce tmpfs lock contention for builder rollbacks.
- Reduce proctree lock contention.
- Fix null-mounting of /rescue.
- Null-mount /usr/share and /usr/tests.
- Add a foreachport sub-command for running arbitrary commands against ports.
This is quite new and still under development.
- Fix shared locks not properly handling stale locks.
- image: Fix default permissions to cfg and data partitions
* Check for USE_PYQT when USES=pyqt:5 is defined [1]
* Avoid more bogus direct command use warnings. Also try and fix some line numbers [2]
* Check for over-verbose use of magic MASTER_SITES_SUBDIRS [3]
* Do not complain about missing Created by: [4]
* Avoid checking direct command usage in embedded comments [5]
PR: 225615 [1]
225612 [2]
225503 [3]
225781 [5]
Reported by: Jason Bacon <bacon4000@gmail.com> [4]
result. The solution is different from the patch suggested in the PR, since
the debug message was only meant to be used during early development of
flavors support. In my local development version of portmaster, all output
from pm_v is redirected to STDERR, but that change seemed to disruptive to
apply to the "published" version.
Unrelated changes: make pm_isdir_pd more robust and fix variable name of
BACKUP_FORMAT option in sample file.
PR: 225843
Reported by: John Hein
Approved by: antoine (implicit)
This removes build dependency on gcc and runtime dependency on gcc's runtime libraries.
Big thanks to Gleb for working on this.
PR: 225185
Submitted by: Gleb Popov <6yearold@gmail.com>
Exp-run by: antoine
Reviewed by: pgj
Differential Revision: https://reviews.freebsd.org/D12043
Major changes :
- optimize the regex search
- chage the files URL path, who uses now the OS name
- add code to handle pluggin API changes for pkg vesions from 1.10.4
The behavior of the ask-license target should be to silently succeed instead
of returning an error, IMHO, but I can test for this condition and skip the
ask-license phase in portmaster, too.
While here, I'm slightly simplifying the fix implemented in r460294.
PR: 225699
Submitted by: dewayne@heuristicsystems.com.au
Approved by: antoine (implicit)
Changelog:
Much of code cleanup and factorization overall.
pcheck:
- Add flavors support
- Print port's flavors after portlint check
pclean, pcommit:
- Update ports cleanup code to remove flavored workdirs also
pfind:
- Optimize exact search
plist-sort:
- Fix variable names clashes in awk snippets leading to incorrect plists
reinplace-check:
- Add support for flavors and multiple pathfix patterns
upgrade-ports:
- Detect package origin change, set new origin and rebuild all
reverse dependencies
- Improved pkg to port conversion, fixes old pre-flavors packages upgrades
- Don't offer to rebuild or install ports that already failed
- Fix install phase error detection
- Split rebuild into new phases: stage, deinstall and install
This fixes some ports building something during stage operation,
mainly Qt 4/5 ports
- Configure all ports while using preinstall -c
- Add dialog4ports as a dependency since 'options' requires it. [1]
- image: Allow hostname to be empty for machines that get their hostname
from DHCP
- Force unmount if the non-busy unmount fails
- bulk: Rework queue handling to avoid hitting 32k link limit on tmpfs on
older releases.
- Remove the need for a separate clean.sh to be called for queue cleanup.
- Update poudriere.conf example to use ZPOOL=zroot as installer has
- SIGINFO: Show phase time as well
- Use PKG_EXT in more needed places (working on PKG_NOCOMPRESS still)
- Avoid two builds stomping on the shared HTML assets directory
- Fix MOVED handling for new flavor.
- HTML: Serialize access to jail and top .data.json files
PR: 22547 [1]
Submitted by: Yasuhiro KIMURA <yasu@utahime.org> [1]
- timestamp: Don't exit on [EINTR] to kevent(2)
- timestamp: Support EOF for command usage
- timestamp: Support buffered modes
- Add MAX_EXECUTION_TIME_{EXTRACT,INSTALL,PACKAGE,DEINSTALL} overrides
- Export PACKAGE_BUILDING to environment as well as some ports check there
(like postfix pkg-install)
- Fix not showing MOVED entries at start
- MOVED: Show more information.
- MOVED: Fix not being recursive.
- disclean: Handle MOVED.
- Add some missing COLOR_PORT
- Fix a dependency lookup bug with FLAVORS by adding a metadata queue.
- Add an 'rm' builtin for sh.
- Delay deps_sanity checks until all deps are checked
- Show user where a bad dependency may have MOVED to
- ports -B: Disallow branch if not SVN/git
a prefix of the package name with a new port to be installed. The cause of
this bug was that a pattern was applied without anchor at the end.
Testing revealed that "pkg info -x" ignores an anchor at the end of the
pattern (which might be a bug in pkg), therefore the output of the query
is now additionally filtered with egrep to obtain the desired result.
PR: 225496
Reported by: Martin Birgmeier
Approved by: antoine (implicit)
installed (e.g. for make targets "extract", "patch" or "stage" in build
dependencies).
Limit depth of search for empty directories to reduce the scan time if
there are non-empty work directory sub-trees.
Add package format parameters to rc.sample file.
Approved by: antoine (implicit)
an optional make target. The patch file contained 2 typoes ("{$" instead
of "${").
Add clean phase for dependencies that are not installed but required when
the dependent port is built (e.g. because of references to source files of
that port, or because of static linking against libraries in the stage area
of such a dependency).
Approved by: antoine (implicit)
fastest_sites currently can't parse entries like
https://archives.fedoraproject.org/pub/archive/fedora/linux/%SUBDIR%/:DEFAULT,SOURCE
=> Checking servers for MASTER_SITE_FEDORA_LINUX (6 servers)
Traceback (most recent call last):
File "/usr/local/bin/fastest_sites", line 164, in <module>
latency_list = FindFastest(varname, sitelist)
File "/usr/local/bin/fastest_sites", line 110, in FindFastest
AsyncConnect(url, callback)
File "/usr/local/bin/fastest_sites", line 53, in __init__
self.ParseURL()
File "/usr/local/bin/fastest_sites", line 64, in ParseURL
(scheme, remainder) = self._url.split(":", 2)
ValueError: too many values to unpack
PR: 224854
This is required for e.g. net/openntpd, which links against static libressl
libraries in that port's staging area.
In case of a port that is not fully installed, there is no clean phase for
the dependency's port directory. The dependency tracking does not maintain
the necessary state to perform this cleanup when the depending port is
finished.
PR: 213887
Reported by: blackmore@pichove.org (Simeon Simeonov)
Approved by: antoine (implicit)
The patch is based on ideas presented in the PR, but implemented
differently. Re-open the PR, if this solution has unexpected side-effects
or proves insufficient.
PR: 174729
Reported by: ngie
Approved by: antoine (implicit)
version, if PYTHON3_DEFAULT is set to anything but 3.6. Since the MOVED
file sets the new origin and flavor such that a Python-3.6 compatible
package is built, the original Python version for this port is ignored.
Reported by: lev
Approved by: antoine (implicit)
circumvent a check for an empty FLAVOR parameter being passed to certain
ports.
Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by: antoine (implicit)
- Sort fts traversal in repo creation
- Fix floating pint exception when packaging packages with weird elf files
- More test cases for config merge
- Fix running the testsuite on linux and osx
- Fix pkg version regarding flavors
- Add support for creating packages with a hash in their names
- Accept DT_SONAME anywhere in .dynamic
- make pkg version -r imply -R
- Some fixes for the progression display
- Rename some variables in security periodic scripts.
- Parse FreeBSD OS version and forbid to install too new packages
before each commit and I'll whether I can create a pre-commit script that
checks this for me.
Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by: antoine (implicit)
- testport: Add missing dependency assertions that bulk was handling.
- testport: Add missing Invalid Flavor assertion from ec23b9a6c15.
- testport: Fix missing assertion for port depending on itself via a FLAVOR.
- pkgclean: Fix creating corrupt repository from the wrong place.
- Rework bulk pkg-query cache for incremental checks to fix a silent crash.
a useful feature, and the txz-format is currently hard-wired in a lot of
places in portmaster, but there has been a request to allow creation of
packages in a non-standard archive format.
Approved by: antoine (implicit)
string at build time had been replaced by a version string from a test
version.
Reported by: herbert@gojira.at (Herbert J. Skuhra)
Approved by: antoine (implicit)
backups with no or less compression than the default of "txz" provides.
Support for different archive format for packages in general could be
provided, but not added at this time, since I'm not convinced that this
would be a useful feature (please let me know, if you disagree ...).
Approved by: antoine (implicit)
* Don't check for direct command use for ONLY_FOR_ARCHS_REASON
and NOT_FOR_ARCHS_REASON when a specific arch has been specified. [1]
* Preserve an original variable value to make sure the check for copying
dependecies is actually performed.
* Don't complain about incon installation if the port is a Qt5 port. [2]
* Check that PLIST_FILES entries do not contain %%FOO% notation. [3]
* Check that DOCS and EXAMPLES are defined as OPTIONS when using %%PORTDOCS%%
and %%PORTEXAMPLES%%. [4]
* Check that if USE_LDCONFIG is defined, then the port installs shared
objects. [5]
* Check that when USE_KDE is defined, then USES=kde:5 is also defined. [6]
* Ignore flavors when trying to find port directories. [7]
* Revert the fix for 221971 (USE_GITHUB). More debate is needed here.
PR: 223285 [1]
223498 [2]
223539 [3]
223541 [4]
223762 [5]
224140 [6]
224245 [7]
Submitted by: adridg [2]
mat [4]
224245 [7]
names. The character '@' is illegal in such names and must be converted to
a legal character same as [-+./].
remobve post processing of "pkg check -dn" output, which was a left-over
from pre-PKG_NG times.
Reported by: koobs (invalid @), tatsuki_makino@hotmail.com (pkg check)
Approved by: antoine (implicit)
The patch attached to PR 181450 did no longer apply cleanly, therefore I
edited portmaster to follow the intent and in part the letter of the patch.
This patch should not affect port building in any way. I have no use for
the feature (and I'm still considering to completely remove support for the
installation of packages in portmaster), and therefore did not test that
it performs as expected by the submitter.
PR: 181450
Submitted by: rozhuk.im@gmail.com
Approved by: antoine (implicit)
origin and package name (sans version), as was the case for e.g. the
lang/cython3 port, which was moved to lang/cython@py36 with a package
name change from cython3-$version to py36-cython-$version.
Approved by: antoine (implicit)
being identified and replaced when the new package is installed.
Add library dependencies to the list of build dependencies to consider.
Reported by: Robert Huff
Approved by: antoine (implicit)
Changelog:
pfind:
Add -N option, finds port that provides given package, including flavor
upgrade-ports:
Fix pkg -> port conversion for ports with one flavor
Fix backup package path generation
Fix sorting of flavored ports
Improve sanity checking procedure
Work directory can have different name depending on flavor,
parametrize its usage
Interactive selection fixes
previous version's problem and I forgot to
Fix shbang: Remove the -x that had been added for debugging.
Reported by: (Walter Schwarzenfeld) w.schwarzenfeld@utanet.at
Approved by: antoine (implicit)
place than before flavor support was added. Move its definition to an
appropriate place.
Silence one pkq query command that may be called for a non-existing
package name.
Approved by: antoine (implicit)
Reported by: Milan Obuch, Paul Beard
supports upgrades from non-flavored port versions based on the information
in the MOVED file.
For initial installations of flavored ports, the flavor must be specified
as part of the port origin, e.g. "devel/py-py@py36" for the Python-3.6
version of that port. Dependent ports will automatically be installed with
the correct flavor passed via the dependency mechanism.
It is planned to add a --flavor option to ease flavor selection for ports
that are initially installed with portmaster.
Approved by: antoine (implicit)
Changelog:
tbuilder:
- Add flavors support, add 'all' alias to build all flavors
upgrade-ports:
- Use deinstall instead of reinstall, make backup package so things
can be restored when install fails
- Improve usage help description
- Add flavors support
Changes: https://github.com/freebsd/poudriere/wiki/release_notes_323
- bulk: Fix MOVED origin not causing a package rebuild. This
could result in a reverse dependency continuing to rebuild
due to a "new dependency" now with FLAVORS support.
- jail -c -m null: Fix this to work rather than error about
having an existing directory already.
- jail -c -m src: Respect existing _/usr/src/.cpignore_
- jail -c -m null -S: Respect the `-S path` rather than assume the jail has
a _/usr/src_.
- jail -c -m null: Assert that the jail is populated already.
- HTML: Throw explicit error if unknown ports type is encountered. [1]
PR: 224065 [1]
- Accept DT_SONAME anywhere in .dynamic when parsing elf binaries
- Fix pkg version when it deals with the ports tree and INDEX after flavors
- Sort fts traversal in repo creation (for reproducible builds)
- Documentation improvements
- make pkg version -r imply -R
- Remove FLAVOR from py-docutils dependency in comms/uhd, in this case
it needs the rst2html command, not the docutils module
- Mark some ports as not compatible with python3
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
current python flavor. It can be used in dependency lines when the
port itself is not python flavored. For example, deskutils/calibre.
By default, all the flavors are generated. To only generate flavors
for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.
In all the ports with Python dependencies, the *_DEPENDS entries MUST
end with the flavor so that the framework knows which to build/use.
This is done by appending '@${PY_FLAVOR}' after the origin (or
@${FLAVOR} if in a Python module with Python flavors, as the content
will be the same). For example:
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
PR: 223071
Reviewed by: portmgr, python
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D12464
- HTML: Fix failed origin column
- testport -c: Don't read host /etc/make.conf.
- testport: Avoid reading ports files outside jail for FLAVOR/DEPENDS_ARGS
- Avoid using `injail` on system.
- ports/jail -c NOZFS: Consider non-empty-already-existing-directory a failure
- Fix usage printout before system is setup.
- jail -c: Replace colon in JAILMNT to avoid PATH issues in buildworld.
- image: Setup PKG ABI properly
- FORCE_MOUNT_HASH: Support yes/no.
- FORCE_MOUNT_HASH: Fix due to improper logic.
- Record lld failures as lld_linker_error.
- options -p: Warn/confirm if in a TTY about overwriting older options
directory.
- poudriere -vv: Show which poudriere.conf files are loaded
Changes from 1.10.1 to 1.10.2
- pkg clean is now happy if the cache dir non existing
- 410.pkg-audit now uses anticongestion on freebsd 12
- fix pkg install -r foo if foo is a disabled repository
- fix elf handling on non FreeBSD
- fix support for platforms without AT_SYMLINK_NOFOLLOW
- fix dropping privileges on Linux
- fix build with recent libbsd
- fix duplicate pkg registration overwriting the existing pkg
- fix again using pattern as package arch
- recognize armv7
- add %q to pkg_printf(3) and pkg-query(8) to print altabi
- add support for new periodic variables in multiple scripts
- add an extra line when printing pkg-messages to improve readability
- stop considering nfs as dangerous and if a corruption happens on nfs drive
by a message the user to the highly possible reason of the corruption so
that he can fix
- better ABI name on linux
- fix pollution of "locked" message
PR: 221129
exp-run by: antoine
Changelog:
upgrade-base:
- pass only needed variables to make, sudo -E passes too many
causing various build errors
upgrade-ports:
- improve distfile fetching code
- try to resolve plist conflicts by removing culprit package when it is already
marked for reinstallation - this resolves most of the problems
- implement multiprocess upgrade order queue sorting
- checking for missing dependencies is now multi process operation
making it a lot more efficient and faster
- don't offer to reinstall packages marked as locked
- make conflict detection multi process operation
- on reinstall detect when package is to be upgraded or downgraded,
include this information in summary for user consideration
- remove recursively conflicting packages on plist install error
- implement dialog interface for interactive package selection
- make pkg command validation more strict to avoid false positives
- Lots of fixes/improvements on periodic scripts
- Fix typo in the .pc file
- Only check for origin if the strings contains / in pkg version
- Support flags when exporting the metalog
- Ignore flags when installing as a user
- fix again using pattern as package arch
- recognize armv7
- add %q to pkg_printf(3) and pkg-query(8) to print altabi
- add an extra line when printing pkg-messages to improve readability
- stop considering nfs as dangerous and if a corruption happens on nfs drive
by a message the user to the highly possible reason of the corruption so
he can fix
- zsh completion imrpovements
Last minute fixes for 3.2. If there are no reports of issues this will
be released as 3.2 tomorrow.
- Fix maintainer in buildlog missing.
- bulk/testport: Undocument -s after its removal.
- DEPENDS_ARGS: Store a PKG_NOTE with the value used for the port
- delete_old_pkg: Fix some renamed PKGNAME issues.
This will be likely be 3.2 release very quickly.
- Remove bulk/testport -s. It is dangerous, bulk -S remains.
- jail -u: Update kernel based on what was passed into jail -cK.
- distclean: Require -a/-f/listed ports.
- testport: Support MOVED with destination FLAVOR.
- delete_old_pkg: Fix renamed PKGNAME detection after commit 612e3dc018c8d3.
- delete_old_pkg: Check for rename PKGNAME before version.