Changelog:
pkg-deleaf:
- reset items list after packages deletion
upgrade-base:
- use sudo when run as normal user
- offer to run rebbot for the user
upgrade-ports:
- include reason in message about port move
- fix updating commands parsing code
- improve sanity check summary, fix required by printing and
show missing required libraries for each reinstalled package
- fix obsolete reason extraction
- don't remove reverse dependencies of self conflicting packages so
that after upgrade no user packages is missing
- check for boundaries while calculating ports upgrade order
preventing stack memory exhaustion
mkpatch
-------
Makes patch from (all or pattern matched) modified files in WRKSRC directory.
pcheck
------
Check for various errors that portlint don't catch:
* misspellings in description files
* files with no final new lines
* leading articles in COMMENT, tabs in WWW lines
pclean
------
Keeps your ports svn repo tidy, removes work directories, leftover files
and reverts any changes made.
pcommit
-------
Wrapper for svn commit, removes and adds files, sets props, etc.
pfind
-----
Simple port's search wrapper. Search parameters include build dependency,
category, name, maintainer, regexp pattern and slave ports.
pkg-deleaf
----------
Leaf package remover with nice dialog interface.
plist-sort
----------
Smart plist sorter which understands PLIST_SUB substitutions and options
determined conditional files.
plist-update
------------
Script utilizing check-plist port's framework target output for updating
outdated pkg-plist, understands PLIST_SUB substitutions and sorts
final files list.
plog
----
Easy way to send poudriere build logs to your FreeBSD account by scp or
view them on your computer.
reinplace-check
---------------
Checks for files with stale REINPLACE_CMD actions or shows diff's of them.
tbuilder
--------
Poudriere testport wrapper that makes easier to queue multiple builds of:
- specific port
- ports linking with certain library
- ports with certain names
- ports with Makefile matching regular expression
- slave ports etc.
upgrade-base
------------
Helper script for upgrading FreeBSD base. Detects and sets number of make
jobs possible. After upgrade rebuilds ports with kernel modules and offers
to remove old files using dialog inerface.
upgrade-ports
-------------
Helper script for updating ports tree and upgrading your ports. Combining
information gathered from UPDATING and MOVED files tries to provide upgrade
process as problem free as possible. This includes showing new UPDATING
entries since last upgrade, ports origin move tracking, simple conflict
resolution, removal of obsolete ports and sanity checking afterwards.
Before any change is made user is presented with summary of changes
intended similiar to pkg upgrade.
1) Create a platform-specific (FreeBSD/DF, NetBSD, Linux, Solaris) version
of /etc/shells for the builders. This resolves installation errors on
packages that manipulate /etc/shells.
2) Give in and finally mount /usr/games if available. This is a
performance impact ultimately caused by removing the strfile
application from ports with the faulty logic that the 400-line C
program can't exist because it's in a non-standard location in base.
The alternative is that Synth can't build any applications that
require strfile from games, e.g. all fortune ports. Thanks! <sarcasm/>
This version blocks TTY signals to and from background processes, allowing
lang/sbcl to build as well as avoiding disruption of an active ncurses
display by "you've got mail" message.
It also includes a minor duration time formatting fix on build logs and
the many-thousands-open-file-descriptor problem fix on purge-distfiles
command provided by 1.66_1 between releases.
There is also a change in the build order algorithm. Previously the
categories were ordered alphabetically, but rather scanned in the order
that appears by walking the directory. Now when the "nothing depends on
these ports" ports block starts building, it's in A-Z order by category/
portname whereas before ony the portname was ordered A-Z (the categories
were blocks in random order). There is no real benefit to the reordering;
it's mainly to satisfy those bothered by disorder.
The purge-distfiles command reads the distinfo file of every port in the
tree, but unfortunately never closed the file descriptor when the scan
was complete. This resulted in 26,000+ open file descriptors, possibly
exceeding the host server's FD limit. (issue #70)
- Removed git file and folder generator before applying a patches
- Small optimizations
- Pulls poudriere.conf for pathing, small changes for readability
- Changed bulkfile default location, changed the way poudriere bulk is called
PR: 215483
Submitted by: Ultima1252@gmail.com (maintainer)
Reviewed by: matthew
Approved by: matthew (mentor)
Differential Revision: https://reviews.freebd.org/D8890
The primary reason for the creation of v1.66 is to provide support for
pkgsrc on FreeBSD, DragonFly, NetBSD and initial support for Linux and
Solaris. It represents over 100 commits and was successful. Along the
way, some improvements were made for the ports version. A (likely
incomplete) list includes:
- Improve watchdog kill message by including inactive time for trigger
- Add SYNTHPROFILE variable and value to builders' mk.conf which can be
used by custom local makefiles
- Force users to define TERM in environment if it is not present
- Ensure fetch(1) doesn't check for valid SSL certificates. Since all
downloads are hash-checked for authenticity, misconfigured SSL of a
webserver is not a good reason to break fetching.
- New 6th log which documents why existing packages are obsolete (same
as setting WHYFAIL in env.) "06_obsolete_packages.log"
- New SELFTEST environment command for test mode which forces new "test"
phase to execute (for ports with regression tests)
- Updated man page
- Stop dropping privileges for fetching, it causes more issues than it solves
- Fix segfault when ABI is defined by empty
- Fix reporting of deprecated packages
- Provide instructions on how to unset vital flages
- Fix libfetch for NetBSD
- Fix @config potential double free
- Always warn about the deprecated @dirrm/@dirrmtry
- Always warn about the deprecated @exec
- Rework pkg register to share more code with pkg install
* It makes it more robust to libarchive regressions [1]
PR: 214381 [1], 215029 [2]
Reported by: lampa@fit.vutbr.cz [1]
Exp-run: antoine [2]
Switch from perl threads to Parallel::ForkManager. With perl 5.24, threads
used in distilator produce a many random warnings hinting at the fact that the
modules used to check the links are not (and never were) thread safe.
Remove WWW. There is no public website available.
PR: 208506 (based on)
Notified by: mat
MFH: 2016Q4
- In case of errors during pkg update exit with a non 0 status
- Fix pkg register issues with some version of libarchive:
* hardlinks not being made hardlinks sometime
* issues when PREFIX is a symlink to another directory
- Use portable mechanism to find the number of CPUs which allows pkg repo to be
faster on linux
- Add progress when fetching (number of files to fetch)
- Improved messages about locked packages
- Return 1 when a user rejects the proposed plan
- When dealing with configuration files '@config' never overwrites non tracked files
- Warn everyone about deprecation of @dirrm and @exec
- Deduplicate metadata loading code
- pkg register now understands context aware messages
- Add a fallback for utimensat when reporting EOPNOTSUPP
- replace libsbuf with utstring for portability
- Overwrite some sqlite vfs functions to allow capsicumisation of pkg
- move more pkg audit details into the library
- allow to run pkg query without any privileges
- extend the audit periodic script to report deprecated packages
- Fix fd leak to rcscripts
- stop dropping privieges during fetching it causes more issues than it solves
- speed walking though [reverse]dependencies
- Update blake2b to latest version
- Add blake2s to the list of supported checksums
- Internal digest now default on blake2b on 64 bits and blake2s on 32 bits.
- Fix segfault when ABI is defined but empty
- Do not use the shared library provides/requires on non FreeBSD/Linux
- Define _NETBSD_SOURCES on NetBSD to allow libfetch to use funopen
- Document vital flags
- Fix potential double free when dealing with @config keyword
* Allow https URLs for the WWW line in pkg-descr. Why are we only NOW doing
this? [1]
* Check TIMESTAMP to make sure it's in the present/past, but not more than 30
days in the past. [2]
PR: 212091 [2]
Submitted by: amdmi3 [1]
Differential Revision: D8462 [1]
Skip new "base" category during ports scanning
The new base category was never meant to be part of the build so the
category makefile was intentionally left off so poudriere and friends
would skip it.
Unfortunately, this idea didn't account for Synth which has a different
behavior: If no category makefile exists, *ALL* subdirectories are
scanned instead of none of them. (DPorts doesn't use category Makefiles
because by definition all ports are valid; there are no "unhooked" ones)
The proper solution would be to include a practically blank
ports/head/base/Makefile to maintain consistency with the rest of
the ports categories, but synth now actively excludes the base category.
Change name of 05 log
The command output log name has changed from "05_abnormal_cmd.out" to
"05_abnormal_command_output.log". The former tended to be considered
a binary file by webservers and would download rather than display.
Final tally added to end of main 00_last_results.log file
At the end of a bulk run, the final tally (queue size, built, failed,
skipped, ignored) would be displayed in curses mode. This change adds
the same useful information to the end the main bulk run log.
- Fix file descriptor leak during rc script execution
- Fix setting attributes on directories
- Fix locking on NFS
- Allow pkg annodate -S to run as a non priviledge user
- Extend the audit periodic script to report about expiration/deprecation
Change in hook behavior:
Now the initial building of pkg(8) triggers a success or failure hook
after building. Before ports-mgmt/pkg was the only port that could
never trigger these hooks. The "bulk run start" hook is triggered
afterwords as pkg(8) is a prerequisite to preparing the bulk run.
Fix potential bad unmount of /usr/src
In the case where /usr/src exists, but the profiles uses a system root
that is not "/" and doesn't have an "usr/src" subdirectory, an error
would be emitted as the unmount of the non-existant mount failed. This
uncommon use case has been fixed.
Curses display builder "Elapsed" label changed to "Duration"
This matches the format of the web-based report
DragonFly only: Support File(1) v2.0 version parsing
The output of file(1) version on DragonFly will change with version 2.0.
For example, what is now version 4.0.702 will be displayed as 4.7.2 on
newer versions of file(1). Moreover, the parsing for DragonFly 4.10+
would not have worked. Now both versions are supports and the double-
digit minor versions are properly handled as well.
At the request of a user, further review reveal that the pkg_* tools
aren't actually used. It just awks the INDEX file. The maintainer
forgot the technical details, especially since the SEE ALSO section of
the man page references pkg_* tools.
A minor update is needed to re-support DragonFly and update the man
page. Until this, it's been marked IGNORE for DragonFly.