Commit graph

3402 commits

Author SHA1 Message Date
John Marino
87d9d74fc7 ports-mgmt/synth: Upgrade version 1.65 => 1.66
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
2016-12-14 19:24:59 +00:00
John Marino
d2f03589b6 ports-mgmt/portal: Support ports ncurses and honor FLAGS
Approved by:	general and ncurses blankets
2016-12-09 22:53:34 +00:00
Tijl Coosemans
323dfa7d83 Remove libtiff.so.4 compatibility links that were added in r374303 to
prevent massive PORTREVISION bumps.  Bump dependent ports that have not
been bumped since.
2016-12-08 16:07:33 +00:00
Tijl Coosemans
7ae3f48312 Remove libogg.so.8, libvorbis.so.4 and libvorbisfile.so.6 compatibility
links that were added in r374303 to prevent massive PORTREVISION bumps.
Bump dependent ports that have not been bumped since.
2016-12-08 15:38:24 +00:00
Baptiste Daroussin
0c586c93ba Update to 1.9.4
- 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]
2016-12-08 09:27:04 +00:00
Emanuel Haupt
67fcd454a6 Provide an option to add SSL protocol support 2016-12-08 09:08:29 +00:00
Emanuel Haupt
552f48c976 Adjust description as perl threads are no longer used.
MFH:		2016Q4
2016-12-06 12:27:23 +00:00
Emanuel Haupt
d49e139232 Update to 0.3.
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
2016-12-06 12:24:32 +00:00
Baptiste Daroussin
a4de3b025a Update to 1.9.99.8
- bug fixes and simplification of pkg register
2016-12-04 22:19:58 +00:00
Baptiste Daroussin
72ec8d3ea7 Update to 1.9.99.7
changes:
- pkg register: fix timestamps
2016-12-04 00:15:46 +00:00
Baptiste Daroussin
dc2eb94047 Update to 1.9.99.6
- Fix pkg register when target hardlink is not in the same directory as the source file
2016-12-03 22:50:40 +00:00
Baptiste Daroussin
2895a58be0 Update to 1.9.99.5
- 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
2016-12-03 21:14:01 +00:00
Frederic Culot
6035ce1607 - Update to 0.4
Changes:	https://github.com/culot/portal/blob/master/CHANGES
2016-12-03 19:13:37 +00:00
Steve Wills
7f220fd3ff Rename PKG_CMD to PKG_REGISTER
Submitted by:	bapt
Differential Revision:	https://reviews.freebsd.org/D8677
2016-12-01 21:29:04 +00:00
Jason E. Hale
bb66fd270d Fix distinfo
PR:		214969
Submitted by:	<goto-freebsd@on-link.jp>
Approved by:	just fix it
2016-12-01 01:38:00 +00:00
Alex Kozlov
cb26a8d899 - Update to 20161113
PR:	214462
Submitted by:	kdeguchi@sz.tokoha-u.ac.jp (maintainer)
2016-11-29 08:56:11 +00:00
Dmitry Marakasov
8c64da30f6 - Add LICENSE
- Simplify patching/installation
2016-11-23 14:41:04 +00:00
Alexey Dokuchaev
583daec5aa In several dozen ports, use single space for WWW: line in pkg-descr, and
reformat port description text in cases when it was notoriously broken.
2016-11-22 14:04:21 +00:00
Baptiste Daroussin
3bedd80422 Update to 1.9.99.4:
- 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
2016-11-20 15:52:35 +00:00
Baptiste Daroussin
f96ddf0ed1 Update to pkg 1.9.99.3
- 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
2016-11-19 22:26:49 +00:00
Rene Ladan
f2aecf8776 Reset edwin's ports, he has handed in his commit bit.
With hat:	portmgr-secretary
2016-11-16 22:55:39 +00:00
Joe Marcus Clarke
7ff2ece996 Correct a typo with TIMESTAMP handling. While here, don't use a pure magic number
for the 30 days worth of seconds.

PR:		212091
Submitted by:	jrm
2016-11-11 02:13:40 +00:00
Joe Marcus Clarke
02a488925d Update to 2.17.5.
* 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]
2016-11-09 00:39:18 +00:00
John Marino
78ef0cfc02 ports-mgmt/synth: Upgrade version 1.64 => 1.65
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.
2016-11-08 15:21:56 +00:00
Mark Linimon
b1836dfd6a Now builds on sparc64.
Approved by:	portmgr (tier-2 blanket)
2016-11-04 15:04:47 +00:00
Baptiste Daroussin
e39c5c4efc Update to 1.9.3
- 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
2016-11-03 22:20:08 +00:00
John Marino
7daa40354f ports-mgmt/synth: Republish v1.64 as v1.64a
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.
2016-11-03 18:17:05 +00:00
John Marino
81aa8f5195 ports-mgmt/synth: Upgrade version 1.63 => 1.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.
2016-11-03 18:00:50 +00:00
John Marino
20269aa66b ports-mgmt/pkg_search: Remove deprecation, but IGNORE on DragonFly
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.
2016-11-03 12:56:30 +00:00
John Marino
509ba01efc ports-mgmt/pkg_search: deprecate and expire 30 Nov 2016
The author/maintainer confirmed that this tool has never been updated
to use pkg(8) and thus can be removed from the tree.
2016-11-02 18:30:54 +00:00
Steve Wills
6baff87631 ports-mgmt/create-rb-port: create port
This port provides a simple script meant to ease creation of rubygem- ports.

WWW: https://github.com/swills/freebsd-ruby
2016-11-02 05:43:53 +00:00
Baptiste Daroussin
b1f3b90389 Update to 1.9.99.2
- readd FTS support to sqlite lib to allow dropping fts tables
- rewrite some functions to use file descriptors when possible
2016-10-30 20:02:19 +00:00
Baptiste Daroussin
39bf209dc3 Update to 1.9.99.1
- 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
2016-10-30 17:57:33 +00:00
Baptiste Daroussin
1bc4c308f8 Update to 1.9.2
- Fix NetBSD ABI
- Add a fallback for when utimensat returns EOPNOTSUPP like on some NFS servers
- Install the NEWS file
2016-10-29 09:01:16 +00:00
John Marino
3c03969017 ports-mgmt/synth: Upgrade version 1.62 => 1.63
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.
2016-10-21 18:59:00 +00:00
Mathieu Arnold
eabbfd75e3 ${RM} already has -f.
PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-21 12:51:40 +00:00
John Marino
0fcb615212 ports-mgmt/synth: Upgrade version 1.61 => 1.62
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.
2016-10-20 18:24:26 +00:00
John Marino
c7753953da ports-mgmt/synth: Upgrade version 1.60 => 1.61
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.
2016-10-18 18:02:48 +00:00
Colin Percival
413ce59cea Simplify Makefile via USES=metaport.
Submitted by:	mat
2016-10-18 04:52:14 +00:00
Baptiste Daroussin
df21debbe1 Release 1.9.1
- fix a fd leak on freebsd <11

Reported by:	mat
Tested by:	mat
2016-10-16 14:55:49 +00:00
Baptiste Daroussin
dd098475c5 Update to 1.9.0
- 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?
2016-10-15 21:26:17 +00:00
Baptiste Daroussin
56a7235107 Update to 1.9.99.0
- Fix pkg refetching te repositories all the time
- Add support for METALOG
2016-10-15 21:23:41 +00:00
John Marino
88f511ebaa ports-mgmt/synth: Upgrade version 1.54 => 1.60
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).
2016-10-15 20:24:10 +00:00
Romain Tartière
740c67430a Update to 1.0.14
Allow to override configuration location with the $portshaker_config_dir
environment variable.
2016-10-14 21:01:38 +00:00
Romain Tartière
e8f65adc01 Update to 1.0.13
This update brings:
- Documentation update;
- A new way to fail fast when conflics are detected.

Reported by:	swills
2016-10-13 20:30:11 +00:00
Colin Percival
2f25c41ccf Add port-index-uniquifier, which is a dummy port taking its version number
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.
2016-10-10 23:37:42 +00:00
John Marino
a7331d8a9f devel/adacurses: Prevent building with base ncurses headers
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.
2016-10-09 02:58:20 +00:00
John Marino
8ce3fdb296 ports-mgmt/synth: Upgrade version 1.53 => 1.54
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.
2016-10-07 19:43:54 +00:00
Dmitry Marakasov
17ceaec13f - Update to 1.5.2
- While here, minor consmetic fixes

PR:		212847
Submitted by:	cryx-freebsd@h3q.com (maintainer)
2016-10-05 18:45:56 +00:00
John Marino
6ffe47b91e ports-mgmt/synth: Upgrade version 1.52 => 1.53
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.)
2016-10-05 18:09:26 +00:00