| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
Update MAINTAINER email
minor modernizations.
PR: 202063
Submitted by: Thorsten Geppert (Maintainer)
Approved by: adamw (mentor)
Differential Revision: https://reviews.freebsd.org/D9194
|
|
|
|
| |
Approved by: portmgr blanket
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix symlinks created by pkg register
- Fix pkg version -n
- Do not autoremove packages marked as vital
- pkg query: aggregate license information
- Fix build on OSX
- Fix build on FreeBSD 8
- Implement pkg upgrade --vulnerable
- Fix descriptor leak
|
|
|
|
| |
Approved by: portmgr (blanket)
|
|
|
|
| |
Sponsored by: Absolight
|
|
|
|
|
|
|
| |
files
PR: 215544
Submitted by: pasokondokoro@gmail.com
|
|
|
|
|
|
|
| |
Add support for CMAKE_BOOL
PR: 215203
Submitted by: Dmitri Goutnik <dg@syrec.org>
|
|
|
|
|
|
| |
PR: 214323
Submitted by: Jochen Neumeister <joneum@bsdproject.de>
Approved by: maintainer timeout (6 weeks)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Approved by: general and ncurses blankets
|
|
|
|
|
| |
prevent massive PORTREVISION bumps. Bump dependent ports that have not
been bumped since.
|
|
|
|
|
| |
links that were added in r374303 to prevent massive PORTREVISION bumps.
Bump dependent ports that have not been bumped since.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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]
|
| |
|
|
|
|
| |
MFH: 2016Q4
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
- bug fixes and simplification of pkg register
|
|
|
|
|
| |
changes:
- pkg register: fix timestamps
|
|
|
|
| |
- Fix pkg register when target hardlink is not in the same directory as the source file
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
Changes: https://github.com/culot/portal/blob/master/CHANGES
|
|
|
|
|
| |
Submitted by: bapt
Differential Revision: https://reviews.freebsd.org/D8677
|
|
|
|
|
|
| |
PR: 214969
Submitted by: <goto-freebsd@on-link.jp>
Approved by: just fix it
|
|
|
|
|
| |
PR: 214462
Submitted by: kdeguchi@sz.tokoha-u.ac.jp (maintainer)
|
|
|
|
| |
- Simplify patching/installation
|
|
|
|
| |
reformat port description text in cases when it was notoriously broken.
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
With hat: portmgr-secretary
|
|
|
|
|
|
|
|
|
| |
number
for the 30 days worth of seconds.
PR: 212091
Submitted by: jrm
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
Approved by: portmgr (tier-2 blanket)
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
| |
I forgot the internally increment the version number so it was still
showing v1.63. The version fix is the only difference from v1.64.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The author/maintainer confirmed that this tool has never been updated
to use pkg(8) and thus can be removed from the tree.
|
|
|
|
|
|
| |
This port provides a simple script meant to ease creation of rubygem- ports.
WWW: https://github.com/swills/freebsd-ruby
|
|
|
|
|
| |
- readd FTS support to sqlite lib to allow dropping fts tables
- rewrite some functions to use file descriptors when possible
|
|
|
|
|
|
|
|
|
|
| |
- Fix fd leak on systems without utimensat (merged in release branch)
- Do not use openssl for sha256
- Improve the default output when fetching data
- Update libfetch to the version of FreeBSD 11
- Update libsbuf to the version of FreeBSD 11
- Fix NetBSD ABI
- Add a fallback for utimensat when reporting EOPNOTSUPP
|
|
|
|
|
|
| |
- Fix NetBSD ABI
- Add a fallback for when utimensat returns EOPNOTSUPP like on some NFS servers
- Install the NEWS file
|
|
|
|
|
|
|
|
|
|
| |
Fix web report regression caused by cleaning of history files.
The history files were being removed too late. Any ignored/skipped
files erased after writing (but would return with first built/failed
port). If more than 500 ports were ignored+skipped, the web report
would fail to show the history completely and would not recover. The
old history files are now removed before the ignore/skip cascades.
|
|
|
|
|
|
|
| |
PR: 213570
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cosmetic: curses display
Capitalize "Swap" and "Skipped" field labels
Cosmetic: web report
After the build completes, fade out the builders table in 2.5 seconds.
Nobody needs to see a table showing all the builders in "shutdown" mode.
Bandwidth: json files
A history.json file holds up to 500 log entries. 16 bytes of spaces were
removed which reduces the history file size by 8000 bytes. Spaces were
also removed from summary.json which can account for 20%+ of the size.
Only rewrite history files upon change:
The last history.json file was being written/rewritten every 3 seconds
regardless if there were changes to it or not. Now it's only written
if it's changed since the previous write. This might help reduce errors
seen by in nginx access log which are thought to occur when file changes
as the file is being served.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Address "[N] Fetch prebuilt packages" bug:
Once the /usr/local/etc/pkg/repos/00_synth.conf file was created, there
was a good change that fetching prebuilt packages would stop with a
fetch error that the checksum didn't match. This seems to be caused by
pkg(8) using both the FreeBSD and the Synth repositories and often
deferring to the latter. This is incorrect behavior as only the FreeBSD
repository should be used for prefetching. This issue is hopefully
resolved now.
Web report behavior change:
Any existing ??_history.json files are now deleted at the start of
each run. They were only litter as the javascript did not pull in old
files, so this change just removes them.
While here, rename the "Elapsed" column on the builders table to
"Duration" to match the history table lable and also adjust the widths
of the origin and information columns on the history table.
|
|
|
|
| |
Submitted by: mat
|
|
|
|
|
|
|
| |
- fix a fd leak on freebsd <11
Reported by: mat
Tested by: mat
|
|
|
|
|
|
|
|
| |
- Drop privileges in many commands
- Drop privileges when fetching a file
- Add resource limitation in sandboxes
- Add support for METALOG
- pkg delete new prints a warning for pattens that matches nothing?
|
|
|
|
|
| |
- Fix pkg refetching te repositories all the time
- Add support for METALOG
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Major new feature: Web-based front-end
A dynamic html report is now generated for each build. The report is
placed at <profile log directory>/Report/index.html.
The report is updated 10 times per minute. The entire build history
is retained and is searchable, but that history is reset at the start
of the next run.
In addition, several fields are clickable and trigger a quick-filter
on the history log including the "Built", "Failed", "Ignored",
"Skipped", "No." column and "ID" column (see tiptool for action hint)
and the "Total" field clears the search pattern quickly.
An earlier but representative version of the web report can be seen at:
https://github.com/jrmarino/synth#web-interface
The Synth web report pulls 2 orders of magnitude less data than the
equivalent poudriere report because the json data is split into
multiple files limited to 500 ports each (e.g. the poudriere data file
might be 1.8 Mb on a big bulk run polled every 8 seconds where as
Synth only pulls the latest segment file (50kb avg) every 6 seconds.
Synth also stops polling when the run is complete.
Minor enhancement: The log files were cleaned up
The data/phase headers and footers were modified so that the build
log appears a lot cleaner now (subjective of course).
|
|
|
|
|
| |
Allow to override configuration location with the $portshaker_config_dir
environment variable.
|
|
|
|
|
|
|
|
| |
This update brings:
- Documentation update;
- A new way to fail fast when conflics are detected.
Reported by: swills
|
|
|
|
|
|
| |
from ${OSVERSION}. This should work around a bug in portsnap whereby the
"Fetching N metadata files" step will fail if the identical INDEX files
are generated for different major FreeBSD versions.
|
|
|
|
|
|
|
| |
It turns out that the C source files were getting built with the headers
from the base ncurses. The recent update in Synth's display exposed a
resulting problem with the add chtype routines, resulting in garbled
output. Since adacurses is a static library, synth requires a revbump.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Handles remaining resizing exceptions and improves display handling.
Yesterday's work handled most of the common display exceptions, but others
were still possible. Now all possible exceptions are handled.
Several improvements were made to the display:
1) lines no longer wrap if the size width is resized too narrow; they
get truncated as always intended
2) Elements such as the elapse timer don't get displayed in the wrong
place when the screen is too narrow (they just don't show)
3) The dashes now get restored if the screen is sized small and then
big again (or started small and then expanded). In many cases those
lines just never came back before.
4) The "full" refresh frequency was increased a period of 30 seconds to
a period of 4 seconds. This has a side benefit to text-mode watchdog
as well since that's the same timer for the log inspection.
5) The history window height ranges from 10 to 50 rows. If the xterm
window starts small, the history will be 10 lines. If it starts
big, the number of lines will be dictated by the original size of
the xterm window. Making the screen small and then bigger again will
reveal the full number of log lines.
|
|
|
|
|
|
|
| |
- While here, minor consmetic fixes
PR: 212847
Submitted by: cryx-freebsd@h3q.com (maintainer)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Major bug fix: ncurses display resize hang fixed
Until now, resizing the window why synth is running in ncurses mode
caused synth to hang (it would finish the builds it was working on
but the display wouldn't update and no new jobs would start). This
was due to an unhandled exception thown by ncurses binding as a result
of the resize event, and now these are handled.
Minor fix: Ports with @info in pkg-plist now pass in test mode
The mtree exclusion file was improved to allow these leftover info
directories to be ignored (as is done in poudriere. Before only
info/dir was ignored, but the presence of "dir" prevented "info" from
being removed by pkg(8) upon deinstallation.
enhancement: Augment text mode (requested)
Now when a builder starts on a new package, the port origin will be
shown in the running log (before only the completion was logged.)
|
|
|
|
|
| |
PR: 213025
Submitted by: maintainer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix regression in text-mode caused by activation of watchdog.
The watchdog is checking the lengths of the build logs to figure out if
a builder has stalled. It turns out that the logs were only being
inspected in ncurses display mode, so any port that took longer than
20 minutes to build would be aborted by the watchdog.
While here, bump the *BASE* time limit for the build phase from 20 to
25 minutes based on extreme causes (normally involving gcc or tex ports)
and also bump the check-plist phase limit from 3 minutes to 10 minutes.
Some ports have tens of thousands of files in them which takes a long
time to check under test mode, especially if the server is loaded.
|
|
|
|
| |
MFH: 2016Q3
|
|
|
|
|
|
|
|
|
|
| |
- If a port has another upstream, remove GOOGLE_CODE
- If a port only has GOOGLE_CODE mark it BROKEN
Some ports have a local mirror configured but for security reasons, it
is not considered upstream.
Sponsored by: Absolight
|
| |
|
| |
|
|
|
|
|
|
| |
PR: 191106
Submitted by: fred@fredcondo.net
Approved by: maintainer timeout (wxs, 2 years)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release changes the watchdog time limits from a fixed value to
one that is affected by the average load. Using fixed values didn't
work well on extremely (and intentionally) loaded servers, e.g. an
overage load of 200 on an server with ncpu of 32.
The base times which were long to account for loading have been reduced,
and a multiplier of average-5 load / ncpu rounded to the nearest tenth
has been implemented (with 1.0 as the floor value). For example, a 4-core
machine with an average 5-minute load of 6.0 will multiply the base
timeout by 1.5. This approach worked well in an extreme test against the
entire ports tree.
|
|
|
|
| |
Approved by: portmgr blanket
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release improves robustness and activates the watchdog.
It leveraes the procctl functionality to ensure all processes spawned
from a builder are reaped, which in turn ensures that tmpfs mounts can
be dismounted. Previously stuck processes could prevent those dismounts,
trapping them as new mounts get placed on top.
This also finally enables the watchdog that will kill runaway builds.
The watchdog has a specific time limit per build phase where it will
kill the build if the log doesn't grow over the previous X minutes.
No activity timeout limits per phase are:
check_sanity : 1 minute
pkg_depends : 3 minutes
fetch : 480 minutes
checksum : 480 minutes (fetches if required)
extract_depends : 3 minutes
extract : 30 minutes
patch_depends : 3 minutes
patch : 3 minutes
build_depends : 5 minutes
build : 20 minutes
run_depends : 10 minutes
stage : 20 minutes
check_plist : 3 minutes
pkg_package : 120 minutes
install_mtree : 3 minutes
install : 10 minutes
deinstall : 10 minutes
A minor change regarding the swap display: If there is no swap installed,
it will now display "n/a" instead of "100%"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a minor bug fix version. Changes include:
* Set close-on-exec operation mode on popen. This is required to stop
leaking file descriptors in highly concurrent modes (e.g. 32 builders).
It's not supported on FreeBSD 9 or DragonFly 4.4 (and earlier) so this
modification is removed for those platforms.
* Remove procfs mount for lang/rust and lang/rust-nightly. This was
necessary for DragonFly, but rust has been fixed for DF 4.6 and later
* Add a stage-QA exception for entries left /var/spool/*. The presence
of these are not an identication of a port issue
* Sanitize synthexec to verify file descriptors 0 .. 2 are in use and
automatically close any file descriptor > 2 before execv fork.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Plasma5 ports
At the moment KDE ports use bsd.kde4.mk to handle their dependencies. When
working on the ports for KDE Frameworks and Plasma5 it seemed to be more
reasonable to create a new kde.mk instead of adding an bsd.kde5.mk.
The kde.mk in this review is a stripped down version of the one we are using in
the KDE Test repositories plasma5 branch [1] to only contain the parts relevant
to the current KDE4 ports in the portstree [2].
Changes to the KDE Ports needed by this:
Replace USE_KDE4 by USE_KDE [3]
Add USES=kde:4 [4]
[1] http://src.mouf.net/area51/view/branches/plasma5/KDE/Mk/Uses/kde.mk
[2] The version in the plasma5 branch also handles frameworks/plasma5 and
handles MASTER_SITES via a KDE_DIST variable similar to bsd.qt.mk for Qt
Ports -- I chose to leave this out for now, as the diff is already large
enough.
[3] I chose USE_KDE instead of USE_KDE4, USE_KDE5, USE_KDEX as the version we
want is already specified as argument to kde:<arg>
[4] For KDE Frameworks and Plasma5 ports this would be kde:5
PR: 210667
Approved by: portmgr, mat (mentor), rakuco (mentor)
Reviewed by: mat, rakuco
Differential Revision: https://reviews.freebsd.org/D6961
|
|
|
|
|
|
| |
- removes chroot in sanboxes it causes too many issues
Reported by: kwm, bdrewery
|
|
|
|
|
|
|
|
|
| |
- sandboxes always drops privileges if run as root and chroot in /var/empty
- sandboxes limits resource usage to make them less useless on system without capsicum
- drops privileges and chroot to /var/empty in various commands if run as root:
* pkg audit
* pkg info
* pkg (r)query
|
|
|
|
|
|
|
| |
- While here, add NO_ARCH and turn ECHO_MSG's into pkg-message to be visible to package users as well
PR: 211956
Submitted by: sakaue.mamoru@mwghennndo.com (maintainer)
|
|
|
|
| |
2016-08-10 ports-mgmt/xps: Does not support pkg(8)
|
|
|
|
|
| |
The master port was refactored to make tracking github repositories easier, but
this change was not reflected in the last update to ports-mgmt/portshaker.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
During upgrades/reinstall javavmwrapper 2.5 pre deinstall script deletes the pkg
temporary files preventing to finish the upgrade.
A fixed version of javavmwrapper will be made soon, this hack will remain in the
ports tree and not in pkg(8) itself. This hack is made to not bother users is
only affecting upgrade/reinstall phase not proper deinstall
PR: 210313
|
|
|
|
|
|
|
|
|
| |
* Check PLIST_FILES for icons [1]
* Add VARS and VARS_OFF to the option helper list [2]
* Add NO_ARCH [2]
PR: 211175 [1]
Submitted by: koobs [2]
|
|
|
|
|
|
|
|
| |
the variable $unique_list was created with identical content, its value was
only set within the implicit sub-shell (2nd command in a pipe) and lost on
exit from the while loop.
Reported by: Jakub Laach
|
|
|
|
|
|
| |
At one point during development of last changeset, the default.gpr
file needed to have a LOCALBASE correction, but that's no longer true.
This line shouldn't have made it into the previous commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bug fix version. Changes include:
* Fix potential exception seen with a large number of builders. The
height of the log area was determined by subtracting the height of
the other two zones from the overall xterm height. This allowed for
the possibility of a negative height for the log area resulting in a
thrown exception. Now the log is defined to be at least 10 lines
log, but ncurses will just truncate as necessary.
* Detection of bad OPSYS value added. There's a rare case where pkg
can corrupt the configuration value of the Operating System. If it
happens on FreeBSD, Synth thinks it is running on DragonFly which
causes all sorts of problems. The corruption can't be auto-fixed,
but Synth will gracefully abort with instructions on how to correct
the issue.
* Fix filtering of port-mgmt/pkg in list of ports. Synth was designed
to always skip building pkg and thus remove it from a given list of
ports, but the filtering didn't work correctly resulting in an
exception with a misleading message.
* Redirect failed jail setup command output to a new log:
/var/log/synth/05_abnormal_cmd.out. Under normal operation, the
log will be empty, but any abnormal output will now be sent there
rather than corrupt the ncurses display as it before now.
* Fix mount cleanup procedure. The output of "df -h" was being
sorted alphabetically which caused mounts-on-mounts (an exception
condition that dillon has been getting with H2 testing) to fail
during dismount. The df output is already in the correct order so
it only needs to be iterated in reverse without the pre-sort.
Change:
* Synth now links curses statically so it should not pull in any
additional packages when the Synth binary package is installed.
The only known bug is the curses display will freeze if running in an
xterm window that gets resized. The cause is still unknown because in
theory Synth should correctly react to a window-resize event. Some
people may have success with ^z followed by fg command, but it's best
to avoid resizing the window at all.
|
|
|
|
|
|
|
|
|
|
|
|
| |
everything at once. Sometime, rename post-install into a options helper
target.
I did not fix ports that were such a mess that I could not figure out
what they really wanted to do. I also did not change ports that had
some version of an auto-plist code in post-install, for the same reason.
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
|
| |
as SVN rev. 418619.
Reported by: Herbert J. Skuhra (herbert at mailbox.org)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
indefinite amounts of time, preventing installation or upgrade of
ports with portmaster. Instead of using a pipe to read pkg query
input to be consumed by a shell loop, buffer the query result in a
shell variable and let the loop iterate over the contents of this
variable.
While here, use a call to all_pkgs_by_origin() instead of an inline
versin of equivalent code.
Reviewed by: tz
Approved by: tz
|
|
|
|
|
|
|
|
|
|
| |
- New maintainer's email
- Enable automatic workarounds of looped dependencies
- Fixe a problem that had emerged when pkg(8) was updated
PR: 210955
Submitted by: maintainer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makefile:
Bump `PORT_REVISION` for the change.
portfind.c:
get_release(..):
The function was incorrectly modifying a pointer that wasn't the original
calloc'ed pointer, tripping asserts when MALLOC_PRODUCTION wasn't enabled
in jemalloc [*].
- Use one temporary buffer (`release`) instead of two (`release` and
`version`).
- Improve temporary memory idiom for managing memory used with
sysctlbyname(3) by first checking the length, mallocing the buffer,
then filling it with a second call to sysctlbyname(3).
- Use strchr(3) instead of handrolling it in a while-loop and to
avoid the improper free(3) of the memory allocated for `release`.
main(..):
- Use asprintf instead of calloc + sprintf.
- Use constant `pasting` with `INDEX_FILE` instead of passing it in to
asprintf(3).
- Fix error message when unable to open `INDEX_FILE`.
Approved by: brd
Differential Revision: https://reviews.freebsd.org/D7198
PR: 211032 [*]
Reported by: Michael Zhilin <mizhka@gmail.com>
Reviewed by: Michael Zhilin <mizhka@gmail.com>
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
|
|
| |
- Added support dialog.ascii_lines(D4PASCIILINES), thanks to kuriyama
- Now first line can be ITEM_SEPARATOR, reported by: Rotluchs(EFnet)
- Rewrote Makefile, bsd.prog.mk no longer needed, with help from amdmi3
- Fix help message, thanks to wblock
PR: 211035
Submitted by: rum1cro@yandex.ru (maintainer)
|
|
|
|
|
| |
PR: 210973
Submitted by: serpent7776@gmail.com (maintainer)
|
|
|
|
|
|
|
|
| |
This release fixes a bug in newer versions of Perl where '{' and '}' caused
regexp compilation to fail.
PR: 210809
Submitted by: mat
|
|
|
|
|
|
|
|
|
|
| |
- update internal expat to 2.2.0
- fix external solver
- fix build on freebsd pre 9.2
- fix warnings on armv6
- fix solver issue resulting in missing conflicts or reinstalling unneeded
packages
- add a mini summary at the end of the output
|
|
|
|
|
|
|
|
|
|
|
| |
- Update internal expat to 2.2.0
- Fix using an external solver
- Fix build on FreeBSD prior to 9.2
- Fix issues on armv6
- Add a mini summary of the operations (removal, installation, upgrades) that
that will be done
- Fix solver issues that could trigger issues with conflicts or reinstall too
many things
|
|
|
|
| |
Also add a dependency for ca_root_nss to Poudriere.
|
|
|
|
|
|
|
|
| |
- Important fixes in the solver
- When conflicts are found, they are explicitly printed
- Reduce namecache contention a bit
- Temporary files created during extraction are now hidden
- Accept symlinks to directories when pkg is expecting a directory
|
|
|
|
|
|
|
| |
- Accept symlinks to directory when the package expects a directory
- Cleanup symlink checksuming code
- Fix a bug that results in bus error on very specific cases with lots of
packages installed
|
| |
|
| |
|
|
|
|
|
|
| |
- Support 252 colors for job IDs
- Ensure bmake is used for ports_env (fixes usage for 9.x)
- Fix creating /nxb-bin in the root system
|
|
|
|
| |
- Fix creating /nxb-bin in the root system
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Lots of important fixes in the solver
- Fix pkg upgrade -f
- Reduce namecache contention a bit
- Prefix all temporary files with a . so they are hidden
- Explicitly tell the users which conflicts were found
- Do not fork pkg when being ptraced (only on FreeBSD)
- Implement repo pinning so once installed a package will keep coming from a
given repo
- Fix repository priority handling on directly requested packages
Big thanks az@ and vsevolod@ for the thank less help provided
|
|
|
|
| |
Changes: https://github.com/freebsd/poudriere/wiki/release_notes_3113
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release adds detection and handling of circular dependencies.
Two users that tried replacing OpenSSL with LibreSSL found out that
ftp/curl depends on itself when its built with GNUTLS. That's because
Synth goes into an infinity dependency loop, runs out of stack space,
and crashes.
Now Synth can detect a circular dependency and abort gracefully and
informatively, e.g.
> synth status ftp/curl
ftp/curl scan aborted because a circular dependency on ftp/curl was detected.
... backtrace devel/cmake
... backtrace emulators/tpm-emulator
... backtrace security/trousers
... backtrace security/gnutls
... backtrace ftp/curl
While here, build synth with stack-checking on so out-of-stack situations
result in an exception and not an illegal instruction crash.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release brings a behavioral change to Synth. The action of building
package repositories is much more conservative now; packages that would
fail sanity checks are only removed under the following commands:
* synth prepare-system
* synth upgrade-system
* synth rebuild-repository
* synth everything
That means the following commands will never result in built packages
being removed now:
* synth install
* synth build (followed by "yes" to rebuild repo question)
* synth force (followed by "yes" to rebuild repo question)
Other changes/fixes:
* The PORTSCAN.SEEK_FAILURE exception is usually a false positive and
should be fixed now
* Under test mode leftover check, all changes to /var/db between
installation and deinstallation are ignored rather than being flagged
as a failure (see databases/mysql56-server test failure)
* Add support for DragonFly's /boot/modules.local (similar to FreeBSD's
/boot/modules)
* Bring in ports patch to use installed libraries instead of the bundled
versions
|
|
|
|
|
| |
Changes:
- jail -c: Fix fetching for 11.0-ALPHA
|
|
|
|
| |
Approved by: junovitch (mentor)
|
|
|
|
|
|
| |
Changes:
- fix solver deciding to reinstall the reverse dependencies
- fix mirror_type: http with https url
|
|
|
|
|
|
| |
Changes:
- Fix mirror_type: http with https servers
- Fix regression in the solver that tries to reinstall reverse deps sometime
|
|
|
|
|
|
|
|
| |
Note that people are using mirror_type: http when they should not
most probably due to bad documentation on our side so we will improve that later
mirror_type: http is only useful if you actually host multiple mirror of your
repos see pkg-repository(5).
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Fix: setting date on system not POSIX 2008 compliant (like FreeBSD 8)
- Fix: running pkg in env where the 0 file descriptor is closd
- Fix: make http mirror type respect the specified port
- Fix: chown/chmod on linux
- Fix: pkg ssh
- Improved upgrade chain in multi repo environment
- Update libucl to latest version
|
|
|
|
|
|
|
|
|
| |
Changes:
- Fix: make http mirror type respect the specified port
- Fix: chown/chmod on linux
- Fix: pkg ssh
- Update libucl to latest version
- Reduce adherence on openssl
|
|
|
|
| |
Reported by: pkg-fallout
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- jail: Fix usage for -m src=PATH
- jail -v: Note that non-listed methods used the value only for display.
- QEMU: Copy the latest emulator into the jail at startup. This fixes
the jail running into bugs with qemu that are fixed with the latest
qemu. It was only copying it in during creation before.
- bulk: Avoid redundant cleaning message with jailversion cleanup.
- Add and document PORTBUILD_UID and CCACHE_DIR_NON_ROOT_SAFE. [1]
PR: 209786 [1]
|
|
|
|
|
|
|
|
| |
Changes:
- Tweak ccache+BUILD_AS_NON_ROOT so that BUILD_AS_NON_ROOT is just default
off, with a warning, when CCACHE_DIR is set.
PR: 209786
|
|
|
|
|
|
|
|
|
| |
Changes:
- Fix incorrect handling of null-mounting /nxb-bin in jail
- Disable BUILD_AS_NON_ROOT if CCACHE_DIR is set [1]
- Fix mount path too long when using linprocfs
PR: 209786 [1]
|
|
|
|
| |
Reported by: Vladimir Chukharev <chukharev@mail.ru>
|
|
|
|
|
| |
Changes:
- Fix checks for duplicates in the universe chains (multirepo)
|
|
|
|
|
| |
Changes:
- fix some memory issues found with -fsanitize=address
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reference it any
longer. This is a no-op because KDE4_PREFIX is equal to LOCALBASE
Fix up properties for misc/kde4-l10n/files/bsd.l10n.mk to make svn happy.
PR: 209014 (partial)
Submitted by: myself
Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D6542
|
|
|
|
|
|
|
| |
Changes:
- improvements in the solver regarding multirepo
- fix setting time on pre POSIX 2008 systems (such as freebsd 8)
- fix running pkg when FD 0 has been closed
|
|
|
|
| |
Approved by: portmgr blanket
|
|
|
|
|
|
|
| |
Changes:
- Reduce memory used while analysing elf files
- Stop checking pre-deinstall script except if DEVELOPER=yes is set
- fix double free in pkg updating
|
|
|
|
|
| |
Changes:
- upgrading/reinstall packages also need to not check the result of the predeinstall script :(
|
|
|
|
|
|
| |
Due to too many bad quality ports, for now we are back in not checking pre/post
deinstall scripts at all except if DEVELOPER_MODE=yes is set, we hope to readd
those checks once the ports have been fixed
|
|
|
|
|
|
| |
Changes:
- Fix double free in pkg updating
- Drop failures on POST-DEINSTALL (still too many failures in ports there :()
|
|
|
|
|
| |
PR: 209640
Submitted by: Keren Sky <keren_sky@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New features:
- new vital flag that prevent from removing a package with pkg delete when not specifying -f
- upgrade process now has atomicity per packages meaning now we can safely check the return of the pre* scripts
- handle ctrl-c during upgrade/install/update
- solver improvements
- pkg clean now runs in a capsicum sandbox on supported plateforms
Changes:
- pkg delete now fails if one tries to delete it (the pkg package) without -f. Before it was just warning and skipping it
- pkg install --from-root has been renamed pkg install --recursive to avoir confusion
Fixes:
- correctly handle hardlinked setuid files
- better handling of setuid
- fix elf analysis when some bad libraries have SONAME specified by empty
- fix elf analysis when a binary provides elf_notes but not the expected ones and are still valid freebsd binaries
(this fixes the case when libgdk_pixbuf was not found as a provided lib on i386)
- NAMESERVER option is now working again and inputs are better checked
- lots of bug fixes: potential leaks mostly
|
|
|
|
|
|
|
|
| |
Changes:
- Fix build on < 10.0.
PR: 209656
Reported by: vas@mpeks.tomsk.su
|
|
|
|
|
| |
Changes:
- Hide warnings when cleaning up schg files.
|
|
|
|
| |
Approved by: portmgr blanket
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- jail/ports -u: Default git pull to use --rebase.
- destroyfs: Run chflags -R 0 and on a smaller subset of files.
- ports: Ignore failures when removing the ports tree
- jail: Ignore errors trying to remove the jail
- Create port-specific directories in do_portbuild_mounts.
- Rework the cleanup to respect -x inside of the directory.
- Support -(j|p|z)<param> without space for poudriere.conf lookups
- hash_var_name: Quote the pattern to _gsub to avoid globbing local files.
- Update sh from head @ r296813
- Switch BUILD_AS_NON_ROOT as default to on.
|
|
|
|
| |
* Properly check for TIMESTAMP in distinfo
|
|
|
|
| |
repo.
|
| |
|
|
|
|
|
| |
PR: 209522
Reported by: John W. O'Brien <john@saltant.com>
|
|
|
|
|
|
| |
Changes:
- ensure pre-install script failing are making the install process fail
- do not try to set attributes on directories if they already have the proper attributes
|
|
|
|
|
|
|
| |
- Update to latest version 0.4.1
- Fix version snafu in dist tarball
- Add new py-docutils dependency
- Change download to GitHub (project no longer updates pypi)
|
|
|
|
|
|
|
| |
Changes:
- Do not fail in case timestamps cannot be set on a directory
- Fix issue that can lead to some libraries not being provided
- Updates in pkg-repo(8)
|
|
|
|
|
|
|
|
| |
- Added portlint option
- Removed default options
PR: 209383
Submitted by: Ultima1252@gmail.com (maintainer)
|
|
|
|
|
|
|
| |
Changes:
- rename install --from-root into install --recursive to avoid confusions
- cleanup old packages later which reduces the window when the filesystem is "unstable"
- fix issue with recursive deps when using pkg add
|
|
|
|
|
|
| |
Changes:
- run post install scripts a bit later to ensure all the new files are in place
- fix a fd leak when extracting files
|
|
|
|
|
|
| |
Changes:
- bug fixes after capsicumization of pkg clean
- improved a bit the output of pkg fetch to make it more understandable
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Fix a regression on systems wihtout utimensat(2)
- Revert a behaviour change with rootdir and repositories that
appeared to be more painful for users than helpful
- Fix pkg clean removing /var/cache/pkg if it is a symlink
- capsicumize pkg clean
- make pkg clean remove empty directories
|
|
|
|
|
|
| |
Fix regression on hardlinks and setuid
Reported by: gjb
|
|
|
|
| |
Reported by: gjb
|
|
|
|
| |
Revert 2 fixes that were actually coverity false positives
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Complete refactor of the package extraction:
* safer: ensure that only what is in the plist is actually extracted
* ensure the package can be properly on the filesystem before actually
replacing the files
* move atomicity to the package level meaning that in case of failure only
the non upgraded packages has to be proceed not the entire upgrade process
* in case of upgrade only extract the files that are unchanged
- Now pre install script failure can properly be catched and stoping the onging
process (at last!).
- New mechanism in the library events to allow frontend to know what they should
run in case of interruption
- handle ^C proprely and cleanup ongoing procedure
- lots of fixes of bugs reported by coverity
- finish implementation of the 'vital' feature
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the Ada Framework is based on GCC6 by default, it is no
longer required for Synth to bundle and build a local version of
devel/adacurses and misc/ini_file_manager.
Switch the port to normal BUILD_DEPENDS and remove the bundle
distfile information. No bump is required because these libraries
are statically linked into Synth, so there's no practical difference
between older and newer packages.
|
|
|
|
|
| |
PR: 208689
Submitted by: maintainer
|
|
|
|
|
|
|
|
|
|
|
| |
While there replace USE_SQLITE=x by USES=sqlite:x.
PR: 208971
Submitted by: mat
Exp-run by: antoine
With hat: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D5951
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Incorporate prefetch partial-revert patch (1.33_1) and remove the
patch and files directory.
* Add lang/rust and lang/rust-nightly to the list of ports that require
procfs to build. This is only true for DragonFly. The plan is to
eliminate this requirement, but it's a bit tricky right now. Once
done, the rust ports will be removed from the list again.
* Move /var/db/fontconfig directory exception from post-build to all
stages. The doxygen port has shown that /var/db/fontconfig changes
during the build phase and this is legitimate.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Drop the need for PORTSDIR in dependencies [1]
* Allow a trailing ':' in URLs [2]
* Check to make sure the value(s) of SUB_FILES is healthy [3]
* Expand variables on all sides of the dependency tuple [4]
(this last change is rather big, and thus bumping minor version)
PR: 208272 [1]
207843 [2]
207477 [3]
206061 [4]
Submitted by: amdmi3 [1]
|
| |
|
|
|
|
|
|
|
|
| |
Changes:
- pkg asks again for small operations (regression)
- fix pkg auto upgrade mechanism (regression test added)
- Update libucl to latest version which fixes an issue with empty pkg.conf (regression test added)
- pkg install on an already installed package returns 0 again this regression was introduced when fixing pkg lock (regression test added)
|
|
|
|
|
|
| |
Changes:
- Update libucl to latest version which fixes an issue with empty pkg.conf (regression test added)
- pkg install on an already installed package returns 0 again this regression was introduced when fixing pkg lock (regression test added)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The MANIFEST files were obtained by
(a) verifying the signature on the 10.3-RELEASE announcement against
the GPG key in the FreeBSD documentation repository;
(b) downloading all of the bootonly.iso.xz ISOs;
(c) verifying those files against the hashes listed in the signed release
announcement; and
(d) extracting the MANIFEST files.
|
|
|
|
|
|
|
| |
This release fixes regressions:
- detection of new version of pkg could fail
- if the all process operation would have an inpact of less than 1MB on the FS
then the action is proceed with out asking the user to acknowledge it
|
|
|
|
|
| |
Changes:
- Improved automatic recover from SAT solver problems (same as in 1.7.0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Support new "vital" notion: prevent from implicit deletion
- Improved support for OpenBSD/bitrig (still lacks some functions in libc)
- Improved ZSH completion
- Updated libucl
- Lots of fixes in error messages
- Fixed "pkg lock" handling
- Allow to specify "inline" respositories in pkg.conf
- ipv6 fixes
- Allow to restrict the accepted url schemes
- More commands supports "-q"
- Multiple bug fixes
- As usual multiple new bugs
- Improved support for shlibs dependency generation when packaging base via ALLOW_BASE_SHLIBES
|
|
|
|
|
| |
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
| |
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Add a basic automatic resolution plan for unsatisiable SAT problems
- Fix regression in pkg info -R
- Add a mechanism to finding libs when packaging base
- Fix some warnings on arm
- Fix hardlink extraction with --rootdir
- Improved error reporting
- Update libucl
- Fixes on locked package handling
- Add ip_version in pkg -vv output
- Add !~ in pkg query (negated glob match)
- Implement "vital" packages: prevent a package from being manually removed
- Add support for arm hardfloat
- Multiple bug fixes
|
|
|
|
|
|
| |
The empty-queue check was supposed to improve pre-fetch behavior,
but it negatively affected other use modes, so remove the check
for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prefetching option fix:
Until now, if the "prefetch suitable packages" option was enabled, it
could happen that "synth force" and "synth test" commands wouldn't do
anything. Moreover, even though it wouldn't build, it would delete the
existing package and refetch it because force/test always pre-deletes
existing packages.
Now, ports listed with "force" and "test" commands are always built,
even if suitable remote packages are available.
Improvements with test mode:
1) Changes to /var/tmp are now ignored. These are legal modifications
2) Access time modification to the builder mount are now ignored. This
was possible if changes to /tmp or /var propagates upward (legally).
3) A new environment variable is added for test command, "LOCK". If it
defined to any value, the builder's localbase will be remounted as
read-only during the configure and build phases. This is a
diagnostic tool to help pinpoint where ports are committing file
system violations by writing to localbase during these phases.
New notice to user regard CONSERVATIVE_UPGRADE:
At the end of the "synth rebuild-repository" command, Synth will probe
the host pkg(8) to see if it's configured with CONSERVATIVE_UPGRADE.
If so, Synth will emit a notice because chances are good that the
user built repository for the local system and may try to upgrade the
system with pkg(8), and in this case, they may wish to turn off the
CONSERVATIVE_UPGRADE setting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
prepare-system, upgrade-system package deletion bug:
These two commands had a serious logic flaw that resulted in newly-built
packages to be immediately deleted prior the pkg(8) repo command. (And
the obvious result of the system not getting updated without re-running
the same command.)
The cause was that the first package validity scan marked the package
for deletion, and this setting was never reset. The obsolete package
was correctly deleted and rebuilt, but then it was quickly deleted
again during the second package scan because the previous deletion mark
was still present. The fix was simple: Reset the deletion marks before
rebuilding the repository so the second scan proceeds accurately.
Test case provided by Wapcaplet in FreeBSD forums
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pkg(8) bug workaround:
The pkg rquery man page is incorrect. It lists the invocation of
pkg rquery as "-U -r reponame" but if it's invoked in that order, it
will squawk errors if any of the repositories are misconfigured. The
command must be "pkg rquery -r reponame -U" in order to limit pkg(8) to
a single repository.
The order sensitivity came into play with "synth upgrade-system" command
on a brand new system. The 00_synth.conf pkg(8) configuration file was
created but there were no repository files created yet, cause pkg(8) to
emit errors on Synth repo when checking the official FreeBSD package
repo. This resulted in no packages prefetching even though "synth status"
indicated some would be fetched. Rearranging the internal rquery
commands works around the misleading pkg(8) documentation (or bug?).
FreeBSD-specific system root validity check.
The $SYSROOT/boot directory doesn't have to be present, but if it is,
there must also be present $SYSROOT/boot/modules directory. Synth now
checks for this on FreeBSD and stops with an informative message when
the modules directory needs to be created by the root user.
|
|
|
|
| |
Changes: https://github.com/culot/portal/blob/master/CHANGES
|
|
|
|
|
|
|
|
| |
- Moved RUN_DEPEND as new portlint option
- Removed default options
PR: 207905
Submitted by: Ultima1252@gmail.com (maintainer)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an enhancement release that contains a bug fix.
Description of bug:
If synth is launched from mountpoint of the ports directory
(e.g. /usr/ports), it may malfunction with strange messages such
as "invalid origins" and printing strange symbols to the screen
along with parts of a directory.
As a result, Synth now detects this launch location (as it already
did with /usr/local) and refuses to run until the current directory
is changed outside of the ports tree.
Enhancement 1:
It is now possible to remove alternate profiles. When more than
one profile exists, a menu option "<" appears that provides the
user with an opportunity to remove one to all inactive profiles
from the configuration. The man page has been updated as well.
Enhancement 2:
Synth will automatically convert any directory inputs on the
configure command to the true path. For example, if somebody types
in "/usr/xports" for the ports directory, but that's just a
symbolic link to /vcs/freebsd-ports", the entry will automatically
convert to its true resolved path (e.g. /vcs/freebsd-ports). This
enables the cwd detection of the bug fix above to always work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two minor bug fixes:
* A specific check during test mode would emit a failure to stdout when
testing devel/py-setuptools27. It turns out that there's a file there
with a space in the filename. The filename was an argument for
/usr/bin//file and it wasn't escaped. The file in question had
parentheses too which the shell was trying to process. The fix was
to escape the filename in the /usr/bin/file command.
* The builders were mounting the source directory from "/usr/src", not
$sysroot/usr/src as intended. This potentially causes breakage when
the $sysroot reflects a different versions/release than the host
machine has (e.g. making FreeBSD 10.2 packages on FreeBSD 11-current).
Now the source directory mount is relative to profile's $sysroot.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With portest, you can create, update, patch and revert a port tree with
svn, git and portsnap. Portest can also do portlint testing, test a port
with port test, or poudriere, and also generate a list of ports a
patchfile(s) will modify. Portest is written in shell with minimal
dependencies mostly using FreeBSD-base
WWW: https://github.com/Ultima1252/portest
PR: 207810
Submitted by: Ultima1252@gmail.com
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix distinfo for the offending ports.
lang/yorick's tag was moved, and the added patch was no longer needed.
PR: 207644
Submitted by: mat
Exp-run by by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D4268
|
|
|
|
|
|
|
|
|
|
|
| |
I knew the repository signing enhancements weren't fully tested, but it
was important to get the regressions fixed. I thought that if there were
any problems with the signing, people not using those features (e.g. 99%
of users) would not be affected. Unfortunately, that's not true.
Due to a simple boolean logic error, an inaccurate and harmless warning
about not finding the signature fingerprint will show every time the
repository is rebuild. This minor releases fixes that logic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was meant to be a pure enhancement release to support the signing
of the repository, but there were some regressions brought in with
version 1.1x and also some long standing bugs found.
Fixed:
* Regression: Interactive test mode
Changing the TERM setting to "dumb" semi-broke the interactive shell
when ENTERAFTER is used with the test command. The fix was to set
TERM back to cons25 in this particular case.
* Regression (serious): install command
The improvement in speed of package validation for the rebuilding of
the repository resulted in a new bug that caused the "synth install"
command to install every port in the repository. It was caused by
reusing a container that I thought was available, but it turns out
that the "install" command still needed it.
* Bug: handle exception that occurred when Synth asked a question
when no TTY was attached. Running a command like "force" would result
in a question, and if Synth was running in a cron job or having args
piped to it via xargs, no terminal would be available and Synth would
throw an exception. Now in this case, Synth just assumes answer to
question is "No" and ends gracefully.
* Bug: purge-distfiles command would delete everything if any error was
encountered. It should have just stopped, which it does now.
* Bug: purge-distfiles container had a bug which prevented all the
distfiles from being stored, which caused removal of good distfiles.
* Bug: purge-distfiles container didn't check for duplicates, resulting
in unhandled exceptions. Now fixed, purge-distfiles command works now.
enhancements:
* Show version information on status commands. On the display, a symbol
of "N" (New), "R" (result), or "U" (upgrade) shows next to each line.
Additionaly for "U", the old version and new version are shown. The
same information is shown in the log, but in addition the actual
version for "N" and "R" categories is also listed.
* Test mode: Add filters from poudriere to prevent false test failures
with leftover and modified files. Mostly it involves files that get
modified, but it's okay so the MD5 check failures need ignoring
* Support signing repository with local RSA keys. Adjust man page with
two new FILES (public key and private key) along with an example on
how to generate those files.
* Support signing repository with external signing command and
fingerprints. Adjust man page with two more new FILES and an example
of how configure this feature.
|
|
|
|
|
|
|
| |
Also, add NO_ARCH. PORTREVISION bump for pkg change.
PR: 207075
Submitted by: maintainer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression in building ports that have dependences that
install kernel modules. When DTrace support was added by providing a
read-only mount of /boot to the builder, the kernel modules could no
longer be installed at /boot/modules by pkg(8).
Previously, although successful, module installs would have caused a file
system violation on test mode checks. Since /boot is now excluded from
checks (since DTrace support), leftovers in /boot/modules will not be
detected in test mode. The fix is too elaborate and FreeBSD-specific
to worry about (plus there's the philosophy question about why the ports
framework is even allowed to modify the base but that's out of scope).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release addresses unacceptably long repository rebuild times for the
worst cases (FreeBSD [1], slow CPU, slow mechanical disk). Until now,
rebuilding the repository required a full tree scan (nearly 26k ports).
While I only saw around 4 minutes on a 4-year DragonFly machine equipped
with a SSD, others reported times exceeding 20 minutes.
This new method scans existing packages twice -- first to eliminate those
packages where the port was removed and also those with a mismatching
version (parallel). This sets up a second pass to serially and
recursively scan the ports of the remaining packages. That leads to the
final validation (same as previously done) and the actual repository
generation. Now the repository generation time is much shorter, but
corresponds to the number of build packages in the packages directory.
The long repository generation times were identified prior to the 1.0
release, but I targetted 1.1 for the enhancement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bug fixes:
* cron operation fixed
The terminal is unset for cron jobs. The setting of TERM to "cons25"
in the environment caused a failure, but it's fixed by changing the
value to "dumb". Note that curses must be off in the profile invoked
by cron.
* dtrace building fixed [1]
On FreeBSD, /boot is now read-only null-mounted if it exists in the
profile's system root. This fixes building dtrace probes when the
option is set.
* fix muted pipe exit status
Pipes have to be read even when no output is expected in order to get
the correct exit status
* fix pipe child exit status
The previous implementation mixed child and parent exit statuses in
error; now they are isolated and returned correctly.
Enhancement:
If a muted pipe command fails, an appropriate error message is given
including which command failed. This helps identify the real error
instead of repercussions appearing later which mask the problem.
PR: 207361 [1]
|
| |
|
|
|
|
| |
pkg 1.6.5 is on its way but requires more testing
|
|
|
|
| |
Changes: https://github.com/culot/portal/blob/master/CHANGES
|
|
|
|
| |
Reported by: mat
|
|
|
|
|
|
|
|
|
| |
Currently, the application is a MVP (Minimum Viable Product) which
provides only the following features: packages listing and searching,
installation and deinstallation of packages, and filtering based on
the package state.
WWW: https://github.com/culot/portal
|
|
|
|
|
|
|
|
| |
Any attempt to alter echo and control flags when the standard input
stream is not connected to a tty will fail. Fix the resulting nuisance
messages by skipping these steps if a tty is not present.
Reported by kmoore@ on jenkins
|
|
|
|
|
|
|
| |
The echo and control-flow flags weren't being restored correctly in
general, and they weren't being restored at program exit. The result
on PuTTY was that nothing would echo to the terminal after Synth
exited, but the new version fixes it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm pleased to finally issue the first release of Synth. There were some
significant changes since the last release candidate:
* Rework piped command handling to fix command parsing
Synth was using ada-util to execute external commands and receive the
output. Unfortunately, this implementation currently can not handle
either extra whitespace nor can it support quoted values. The author
is going to fix this soon using popen and pclose for Unix, but I just
implemented the functionality by binding to those functions myself.
* This was the only use of ada-util (I originally expected to use more
of this library's functionality) so it's been dropped as a dependency.
This reduces the stripped executable size by about 30%.
* The environment was prepopulated with UNAME_[x] variables. This is
required for Synth to support building packages for different releases
or even architectures (e.g. building 10.2 packages on 11.0-CURRENT).
* Define OSREL in the builder's /etc/make.conf. This seemed to be
required for emulators/virtio-kmod which uses <pre> although it's not
clear defining OSREL is necessary.
* Fix graceful shutdown handling in text mode.
When the graceful shutdown key was changed from Escape to Control-Q, it
stopped working in text mode (i.e. when it wasn't in curses). I believe
that's because the curses display uses the "raw" tty mode and lets all
control characters through. In text mode, Control-Q has a flow control
functionality. I wrote a routine to disable that flow control and give
Synth access to control-Q keypress in all cases.
* The same routine disables TTY echoes when they are unwanted
* Fix "status-everything" dry-run issue where a graceful shutdown resulted
in an unwanted "sorry" message.
* In test mode file system violation check, mark changes to /var/run
during building to be excluded from checks.
* Add a guard that checks if Synth is launched when the current directory
is <sysroot>/usr/local (or a subdirectory of it). Synth will fail
to mount everything in this case, so now it stops and tells the user
to change directories and try again.
|
|
|
|
|
| |
Changes:
- Fix error starting up when jail contains ':' (or other special characters)
|
|
|
|
|
| |
Changes:
- Fix error starting up when jail contains ':' (or other special characters)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/usr/local/share/poudriere/MANIFESTS, where poudriere (as of version
3.1.11) checks for pre-distributed MANIFEST files before fetching them
from the ftp/http/https server.
This allows poudriere to ensure that the bits it is downloading and
installing really match the bits provided by the release engineering
team, and have not been subtly trojanned in transit. (Note that this
does not apply if poudriere is creating a jail from -STABLE or -CURRENT
since we cannot pre-distribute those MANIFESTs.)
The MANIFEST files were obtained by
(a) finding the GPG-signed announcements for 9.0 and later releases;
(b) verifying those signatures against the GPG keys in the FreeBSD
documentation repository;
(c) downloading all of the relevant bootonly ISOs;
(d) verifying the ISOs against the hashes listed in the signed release
announcements; and
(e) extracting the MANIFEST files from those ISOs.
Reviewed by: bdrewery
Security: If someone could trick you into building packages in a
world which they tampered with, they could do all sorts
of nasty things to those packages...
|
|
|
|
| |
Changes: https://github.com/freebsd/poudriere/wiki/release_notes_3111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Optimize jail startup/cloning/rollback and mtree comparisons.
- api: Make more useful
- check_fs_violation: Use mktemp rather than hard-coded tmpfile
- Fix false-positive 'Leftover processes' warning after disabling jexecd
- Conditionalize the jexec logic around USE_JEXECD and add back missing jkills.
- QEMU: Remove _MAKE_JOBS not present in release-3.1 and noted to break
builds by sbruno
- Kill processes before remounting/rolling back the builder FS, rather than
after.
- jail -c: Support older FREEBSD_HOST=ftp.freebsd.org URL schemes still. [1]
- jail -c: Support pre-distributed MANIFESTs for checksum comparing.
PR: 206848 [1]
|
|
|
|
|
|
|
| |
PR: 206483
Submitted by: <w.schwarzenfeld at aon.at>
Approved by: maintainer timeout
MFH: 2016Q1
|
|
|
|
| |
2016-02-14 ports-mgmt/tinderbox-devel: use newer stable version (ports-mgmt/tinderbox)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, there's been a bit too much change since 0.99_6 to
confidently release version 1.00, so another release candidate is
necessary. Both new features and bug fixes were added.
New features:
* Provide ability to define environment variables in a profile
(/usr/local/etc/synth/<profile>-environment)
* Support fetching by proxy using these environment variables
* Add zsh and bash completion scripts
* Accept port origins with trailing file separators (so people
using completion scripts don't have to backtrack to remove them)
* In text (non-curses) mode, output the current package build
tally every 200 seconds (approximately)
Bug fixes:
* Fix support for system roots that don't match host (e.g.
ARCH, OSRELEASE, OSVERSION, etc
* Fix ABI check for system roots that don't match host
* Remove effect of system /etc/make.conf (originally seen when
MAKE_JOBS_NUMBER was defined there and disabled synth)
|
|
|
|
|
| |
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
|
|
|
| |
Changes:
- Fix hardlinks extraction with --rootdir
- Relax url scheme acceptance to allow file:/ and file://
- Accept pkg+ for url scheme where it was never intended to be used, because users used it anyway
- Remove pkg-message
|
|
|
|
|
|
|
|
| |
Torsten has accepted the challenge of whipping portmaster back into
shape. In addition to changing MAINTAINER, he's starting with fixing
both non-default options by providing their necessary RUN_DEPENDS.
PR: 207075
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had hoped that 0.99_5 would be bug-free and the basis for the first
release (1.00), but couple were found. If use of 0.99_6 reveals no
further issues after a week or so, I'll re-release it as v1.00.
bugs fixed:
* if the origin started with a directory separator, an exception would
occur. Now it properly labels it as an invalid origin.
* The "extract" stage was labelled as "checksum". Internally everything
was fine, but on the display, the order was checksum, extract-depends,
checksum instead of checksum, extract-depends, extract.
* During one phase (build), the DEVELOPER flag was set unconditionally.
This was a regression as it wasn't always the case. This code was
tweaked several times since 0.99_5 and now the DEVELOPER setting has
been moved the builder's make.conf to ensure it's consistently
present or absent (as needed).
* It turns out that the ports tree scan is affected by the DEVELOPER
flag. It turns out the setting can affect the dependencies list so
it needs to be set (or absent) appropriately to match how it will be
on the builders. The make.conf solution above solves this too.
* There was "NO_BACKUP" set in the builders make.conf. This line is
for the DragonFly src builder and it's presence caused no harm, but
it's been removed now.
* Make ports makefile respect CFLAGS
new feature:
* Provide ability to break into a build at a specific point and
interact with it.
- Only available on "test" command
- Only active when one (1) port origin is given to "test" command
- Only active when ENTERAFTER is defined in environment as:
> extract
> patch
> configure
> build
> stage
> install
> deinstall
- All dependencies are built first with typical display and
DEVELOPER=1 set. Afterwards, Synth converts to text mode and
builds the specified port up to and including the phase specified
by ENTERAFTER. Then it launches a tcsh shell and gives control
to the user at the builder's root directory
- The user ends the interactive session with the shell cmd "exit"
- Synth will clean up and exit (it will not try to continue the
build due to possible corruption from the users)
* This is a port developers tool. The average user does not need it.
* The average user might use "test" command to generate a log to submit
as a FreeBSD Bugzilla PR attachment.
|
|
|
|
|
|
|
|
| |
Changes:
- Update manpage for rebuilding ports with pkg.
PR: 191166
Submitted by: wblock
|
|
|
|
|
|
|
|
|
|
| |
A fairly recent change caused a regression after a build was complete.
Previously a "tally" or summary of the build would appear after the
ncurses screen was restored to the regular terminal mode. It would
list how many ports were built, failed, etc. After the regressin, it
just ended abruptly.
This commit restores the tally to show as it did previously.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While processing Issue 206746 [1] for a security update to
security/py-rsa (For versions < 3.3), it was noticed that Portscout
had not identified the the newer version, released on 2016-01-13.
Investigation revealed that the PyPI SiteHandler in Portscout only
processed the first url/filename returned by PyPI, which in many cases
is not a tar.gz, the default EXTRACT_SUFFIX for source distribution
(sdist) files:
[py-rsa] VersionCheck()
[py-rsa] Checking site: https://pypi.python.org/packages/source/r/rsa/
Does site handler exist ... Yes
(Portscout::SiteHandler::PyPI) GET https://pypi.python.org/pypi/rsa/json
(Portscout::SiteHandler::PyPI) GET success: 200 Filename: rsa-3.3-py2.py3-none-any.whl
FindNewest: Checking rsa-3.3-py2.py3-none-any.whl ... against port DISTFILES.
FindNewest: Checking DISTFILE ... rsa-3.1.4.tar.gz (ver: 3.1.4, sufx: .tar.gz)
[py-rsa] Done
This change backports a commit [1] made to Portroach which adds a loop to
enumerate all URLs/filenames in the PyPI JSON response, not just the
first.
[1] https://github.com/jasperla/portroach/commit/e93b8331f6e5f850bbb5faca866efcbf73de756c
PR: 206746 [1]
Obtained from: https://github.com/jasperla/portroach
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a minor update to synth, which includes:
* Support for the WHYFAIL environment variable. If this variable
is defined (to any value) in the environment, Synth will turn on
the "debug" mode for dependency and option sanity checks. This
mode will provide exact details on how the package failed the check.
* README.md: editorial corrections, 3 images replaced to reflect current
version of Synth
* Man page: editorial correction, WHYFAIL documented, and the "Impulse"
indicator was documented (in NOTES section)
* Significantly improve ports scan error messages. In particular,
eliminate the 'bad value ""' messages that are caused by ports that
are partially or completely missing. Also propagate exception
messages when helping.
* Log 03 (ignored ports) did not list the actual ports, only the reason
the port was ignored. Fix bug to show category/port too.
Erratum on previous commit message: The "Graceful Shutdown" is initiated
with Control-Q, not Control-C! The typo is doubly unfortunate because
Control-C will exit Synth without cleaning up the mounts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WARNING: rebuild-repository command has changed action! see below!
The follow changes have been made since v0.99_2:
* Change the graceful shutdown key from "Escape" to Control-C.
The former was easy to hit inadvertently (reported) and could be
interfered with by terminal ANSI codes and/or mouse wheels. The
documentation has also been modified to reflect this change.
* Fixed bug where installed packages that no longer had a port
might cause the scan to fail rather than be ignored as advertised
* New feature: SYNTHPROFILE environment variable
When SYNTHPROFILE is set toTill be loaded rather than the default
profile. This is aimed for synth's use in scripts.
* The "rebuild-repository" command has been renamed to "prepare-system".
This is partly because the former command will be repurposed.
* A new command assumed the name "rebuild-repository"; it performs a
sanity check on all the built packages, removes the bad ones, and
rebuilds the local Synth repository on command. It is primarily for
scripting use, but it has other legitimate uses.
* Fix case where prefetching packages would try to update a non-existent
local Synth directory. As a consequence, prefetching is only done
from a single external repository (the normal use case thought)
|
|
|
|
|
|
| |
Because we are going to remove python 3.2 from the ports tree
With hat: python
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Fixed false "fetched failed" messages that always appear after
prebuilt packages are fetched
2) Fix bug where "synth configure" command would not run if any directories
were invalid. For new systems, /usr/ports/distfiles is always invalid
3) Following 2), greatly improve error message by saying exactly which
directory is missing and which configuration letter it pertains to
4) If synth is configured to a non-existent /usr/ports/distfiles directory,
also add a recommendation to consider a better location outside of the
ports tree and remind them to set DISTDIR in /etc/make.conf too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- jail -c: Always copy in QEMU emulator, even if not building from src.
- jail -c: Ensure MANIFEST is not empty or give an error.
- Clear CMD_ENV to disallow sneaking in environment vars
- Update libnv to the latest head @ r293361
- Update sh from head @ r293359
- Null-mount read-only /rescue and /nxb-bin into the jails as they will not
change.
- Add a MUTABLE_BASE option (default yes) to experiment with null-mounting of
base.
- Prefer https://download.FreeBSD.org for snapshot downloads from FreeBSD.
- Remove duplicate NM from make.nxb.conf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've been ordered by portmgr to remove DEPRECATION designation because
others have indicated they believe people should not be so directly
informed of its poor state. Despite the fact that there was no expiration
date set and that functionality was not affected in any way (leaving now
informed people free to use this unmaintained port), it was considered a
disruptive change.
Let the record show that I strongly object to this decision and that I
firmly believe that portmaster is a port that *must* have a competent
maintainer that can *develop* it. It should *not* be allowed to be
unmaintained and still maintain a presence in FreeBSD documentation.
|
|
|
|
|
|
|
|
|
|
|
| |
1) When using prefetch option, list the packages that failed to download
rather than just say, "at least one failed to download"
2) sysutils/htop requires linprocfs but doesn't set USE_LINUX. Set this
port to mount linprocfs based on its origin
3) Fix linprocfs implementation, it was mounting out of order, basically
resulting in that it was non-functional
4) Close all the logs in the case where no packages are built. In that
case, the logs were never modified. Changes discarded?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Allow to limit the valid url scheme in pkg.conf
- Add support for SOURCE_DATE_EPOCH: https://reproducible-builds.org/specs/source-date-epoch/
- Fix pkg check -d
- Fix testsuite with kyua 0.12
- Fix completion on pkg info -l
- Reduce te probability to get an infinite loop on pkg version check
- Fix pkg version -q
- Update libfetch to the latest version from head
- Debug mode is now verbose when fetching
- Fix segfault with empty HTTP_USER_AGENT
- Fix segfault when parsing invalid URL
- Fix build on OS X
- Better error reporint on issue during pkg create
Note that this release will be merged to quarterly branch in 10 days
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- turn libfetch into verbose when pkg is run is debug mode
- remove all mention of MTREE_DIRS in documentations
- update libfetch to the latest version from HEAD
- Fix segfault with HTTP_USER_AGENT is empty
- Fall back to the default user agent if the provided on is empty
- Fix segfault when bad url are provided in the repository configurations
- Fix error reporting when an error occurs during package creation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The portmaster script hasn't had an official maintainer in 9 months and 2
years before that it was only patched in reaction to changes in the ports
framework. There are many unclaimed PRs in the bugzilla database, many
known bugs, and several areas where portmaster no longer aligns with how
ports work today. The problem isn't simply getting a maintainer; that
person has to be a ports framework expert and it appears that the people
with these qualifications don't want anything to do with this port.
Moreover, there are better options available. All FreeBSD platforms
support ports-mgmt/poudriere (although some many struggle under the load)
and the most common amd64 and i386 platform users have the additional
option of ports-mgmt/synth which is user-friendly, lightweight, and aimed
at users of portmaster, portupgrade, and even poudriere.
Unless something drastic regarding portmaster occurs, it's nearing its
natural EOL, so it's users should evaluate alternatives and try to
migrate off of it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now Synth has all the features envisioned for the first release. This
edition add an option (off by default) to fetch prebuilt packages if
they are suitable (ABI, options, dependencies match). This feature is
aimed at people that only want to build ports with customized options,
but for ports with default configurations, they are happy to use the
official packages. The feature is not heavily tested yet.
Once this version is sufficently tested, Release 1.00 will follow.
Other changes since 0.98_5:
* curses will redrawn itself (correctly now) every 30 seconds to
fix any corruption that may have occured
* Synth everything will build the repository without deleting packages
now (this was disabled on the last update)
* The repos directory for pkg is read from pkg config instead of using
the hardcoded defaults
* The man page has been updated with new feature descriptions
* linprocfs is mounted for linux_base ports
* The regression that prevented linux ports from building has been
fixed. It was caused by caching LINUX_OSVERSION, so this variable is
no longer cached.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following changes have been implemented:
* The "test" command checks for file system violations between
the configure and build targets (inclusive)
* The "test" command hecks for leftover (extra), missing, and
unexpectedly modified files and directories between the stage and
deinstall targets (inclusive)
* Fix bug where success system-upgrade was indicated as a failure
* Bring in procfs mounts for x11-toolkits/gnustep-gui (only!)
It appears to the be only port that needs it, but procfs appears to be
pretty unstable, so we don't mount/dismount it unconditionally
* Similarly, change linprocfs mounts/dismounts to only occur when when
linux ports are building. Linprocfs stability is unknown (and I can't
test it on DF) so be conservative and use it as little as possible.
* Fix bug on builders /etc/group file (some groups were missing)
* Install /etc/master.passwd in builders, it is required for at least
one port
* Install /etc/rc.d and /etc/defaults/rc.conf in builders. It is
required for at least one port
* Disable repository rebuild after synth-everything. Twice it has
removed all packages (over 23,000!) after a build, so there's a bug
or missing safeguard there.
* Watchdog status: Situation is better if scons ports are unwatched, but
python3* freezes along with a handful of other ports. It works 99% of
the time, but not reliably enough yet to re-enable.
|
|
|
|
|
|
|
| |
Add the same -D_GLIBCXX_USE_C99 trick that a few other ports use so that gcc48
and its libstdc++ make std::to_string() available.
MFH: 2016Q1
|
|
|
|
|
|
|
|
| |
testing FreeBSD Ports. redports-node is running on each building
machine which asks for new building jobs from the master and
builds them using poudriere.
WWW: https://freebsd.github.io/redports/
|
| |
|
|
|
|
|
|
|
|
|
|
| |
After setting the group process ID and then execv'ing into the
ports build target, any port using scons just locks up immediately
without any kind of message. I assume it's a bug in scons but it
will take a while to resolve (probably requires a testcase case and
submitting upstream). Since it caused a significant regression and
since normally users shouldn't hit hung processes often, I'm disabling
the feature for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following changes have been implemented:
* The builder command executer had been upgraded with a watchdog. It
does not monitor the overall time of a phase (things like fetch /
checksum vary depending on the internet connection and the volume it
needs to download ranges from bytes to gigabytes), but it does monitor
log progress. Each phase has a maximum amount of time allowed for the
log to be static (measured in lines, not file size). If the log is
static for too long for that phase, the processes of the builder will
be killed, and the builder log updated accordingly.
* The load indicator was stuck at 0.00 for some named locales (only on
FreeBSD) so this was resolved.
* Ports tree scanning time was cut nearly in half by caching make
variables on each builders make.conf
* Support for /usr/lib/lib32 was added for FreeBSD
* purge-distfiles command was improved by handling potential exceptions
and fixing the case of 100-1023 Mb purged (range was too narrow)
* Typos on man page fixed
* The directory ${PORTSDIR}/packages are now ignored. This is the
default package location and any existing packages were getting
treated as port directories.
* Skip some additional questions/actions if a graceful shutdown was
previously detected
|
|
|
|
|
|
|
| |
On DragonFly, $LOCALBASE/etc/pkg/repos always exists, so I forgot to
verify that. On FreeBSD, it doesn't necessarily. Make sure to create
this path if it's missing before trying to write 00_synth.conf there.
While here, add an error message if it still fails for any reason.
|
|
|
|
|
|
|
|
|
|
|
| |
The -devel version of tinderbox hasn't seen an update in over three
years and it's significantly older than the stable version. Since there
doesn't appear to be a need for -devel version anymore, let's just
remove it on 14 Feb 2016. (Don't forget to set secondly field in MOVED
accordingly!)
PR: 206138
Approved by: crees (maintainer)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The big one: FreeBSD distfiles are located by default inside the ports
tree (which is kind of insane). I forgot this and people that did not
modify DISTDIR had this directory full of files, which synth interprets
as non-functioning ports. Make directory scans skip this directory if
found to correct.
The smaller one: Synth was supposed to squawk if it couldn't find a
valid portsdir at the environment (PORTSDIR), /usr/dports, or /usr/ports.
The squawk didn't work. Moreover, it wouldn't check PORTSDIR set at
/etc/make.conf. This change makes synth check there after the env.
check (thank you for the hint, bapt@). It also correctly squawks
without creating synth.ini when PORTSDIR isn't valid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Synth is a custom packge repository builder for FreeBSD and DragonFly.
It is intended to replace Portmaster, portupgrade, and poudriere for
the average user. It is simple to learn (the powerful options are
limited in number) and user-friendly, but it is extremely fast due
to its parallel building capability. It will "drop-in" on any system
as it leverages the stock pkg(8) facilities. All ports are built
in a clean environment, so it is finally safe to build ports as
needed on a live system. The default profile is the system itself, not
a new jail, which can be a valuable feature for some environments.
(more text on pkg-desc).
It's ready for wider testing now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a logic bug introduced in r401037, which caused ports without a
SiteHandler (GitHub, SourceForge, PyPI) not to be processed through the
fallback FTP or HTTP(S) cases.
I didn't pick this up in testing because only my ports were tested, most
of which use PyPI/GitHub, using the `restrict maintainer` setting in
portscout.conf.
[1] https://svnweb.freebsd.org/changeset/ports/401037
Pointyhat: koobs
Reported by: kwm (for mate, libdrm)
MFH: 2016Q1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A number of people reported no updates being detected for ports using
USE_GITHUB=yes, even after originally adding the GitHub site handler in
r401037 [1]. Investigation revealed that the FindNewestFile subroutine
and the vercompare() method assumed (or are designed so) that responses
returned from site handlers will be in a normalised version format. For
site handlers that return 'versions', this works well. For the github
handler, in the fallback use of the API for fetching repository tags, it
does not.
Additionally it turns out, portscout currently only uses/stores a
normalized version ('ver') in its database, in its general design
attempt to be a generic version comparison tool
In particular, portscout does not reference or store PORTVERSION
or DISTVERSION{FULL}, so we have nothing 'canonical' to compare
the responses from Github (tags) against.
This change special-cases Github in the FindNewestFile subroutine, which
was obtained via Portroach [2] (OpenBSD's portscout fork).
Extending this, we also now only match version-esque looking strings
from the tag, in an attempt to normalise, because they come in many
forms, including {foo-}X.Y.Z{-bar}, foo_X_Y_Z, among others.
While I'm here,
* Fix copypasta of $github_client_id, when $github_client_secret was
intended
* Add code to use authenticated requests for Github project tags in the
fallback (to /releases) case.
* Add and update some more debug messages to help diagnosis of future
issues
Special thank you's to:
* matthew, allanjude, mandree, des, Brendan Molloy for your regex, perl
help and moral support.
[1] http://svnweb.freebsd.org/changeset/ports/401037
[2] https://github.com/jasperla/portroach
Differential Revision: D4780
|
|
|
|
|
|
|
| |
- Switch to CHEESESHOP
PR: 205729
Submitted by: maintainer
|
|
|
|
|
|
| |
A tool to generate human-readable trees of dependencies of a FreeBSD port.
WWW: https://github.com/bbqsrc/skog-python
|
|
|
|
|
| |
Reported by: many
Pointy hat: bapt
|
| |
|
| |
|
|
|
|
| |
Sponsored by: Absolight
|
|
|
|
|
|
|
|
|
|
|
| |
by simply providing the name of the module to the command. It accesses the
PyPI JSON API and does its best to generate a fully functional Makefile and
distinfo where sources are found.
WWW: https://github.com/freebsd/pytoport
PR: 205636
Submitted by: Brendan Molloy <brendan+freebsd@bbqsrc.net>
|
| |
|
|
|
|
|
| |
Changes:
- Fixes ABI incompatibilities between libarchive 2.8 and libarchive 3+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- list of valid url scheme can be defined in pkg.conf
- add support for SOURCE_DATE_EPOCH for reproducible builds
- Fix pkg check -d
- Fix testsuite with kyua 0.12
- Fix pkg info -R
- Fix setting modes on extracted files/directories
- Fix zsh completion for pkg info -l
- Fix some solver crashed
- Initial attempt at fixing infinite loop on multirepositorry when updating pkg
- pkg version now handled -q correctly
|
|
|
|
| |
* Add check for misspelled USES
|
|
|
|
|
|
|
|
|
|
|
| |
* Attempt to properly detect gettext [1]
* Add support for @<pre|post>[un]exec plist directives [2]
* Add support for the new @sample plist directive changes [2]
* Modify the text when checking for used OPTIONS [3]
PR: 204370 [1]
204900 [2]
204575 [3]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
${PERL5} points to a specific version of perl, say, perl5.22.1, it is
fine to use it in a ports Makefile to do Perly things, but ports using
it must use ${PERL}, that points to /usr/local/bin/perl so that if the
minor version is updated, the shebang keep working.
While there, make some ports use shebangfix, regen a few patches, and
bump PORTREVISION where a shebang went from PERL5 to PERL.
PR: 205367
With hat: portmgr
Sponsored by: Absolight
|
|
|
|
|
|
|
|
|
| |
- Update/Remove MASTER_SITE
PR: 204755
Submitted by: jwbacon@tds.net (maintainer)
Approved by: mat (mentor)
Differential Revision: D4493
|
|
|
|
|
|
|
|
|
| |
Changes:
- jail -d: If stdin is a TTY, confirm before removing jail.
- Disable rexec/jexecd for now as it has issues on <head and seems racy on
head as well, possibly leading to "Unable to execute id(1) in jail."
- QEMU: Use host pkg-static in the jail for repo to speed it up. For
this PKG_REPO_FROM_HOST=yes may be needed on mips.
|
| |
|