Commit graph

3272 commits

Author SHA1 Message Date
Kurt Jaeger
936a271eac ports-mgmt/portest: 0.1.6 -> 0.1.7
- Added portlint option
- Removed default options

PR:		209383
Submitted by:	Ultima1252@gmail.com (maintainer)
2016-05-08 20:52:21 +00:00
Baptiste Daroussin
0cc8b577a0 Update to 1.7.99.9
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
2016-05-08 17:51:10 +00:00
Baptiste Daroussin
edc0dc7842 Update to 1.7.99.8
Changes:
- run post install scripts a bit later to ensure all the new files are in place
- fix a fd leak when extracting files
2016-05-06 19:51:30 +00:00
Baptiste Daroussin
42dc37945a Update to 1.7.99.7
Changes:
- bug fixes after capsicumization of pkg clean
- improved a bit the output of pkg fetch to make it more understandable
2016-05-06 18:22:48 +00:00
Baptiste Daroussin
01cd57f515 Update to 1.7.99.6
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
2016-05-06 11:49:06 +00:00
Baptiste Daroussin
05606229ae Update to 1.7.99.5
Fix regression on hardlinks and setuid

Reported by:	gjb
2016-05-06 00:38:49 +00:00
Baptiste Daroussin
9b7bfdb5ca Fix a regression regarding extraction of symlinks (regression tests added)
Reported by:	gjb
2016-05-05 23:58:30 +00:00
Baptiste Daroussin
ba64112eae Update to 1.7.99.3
Revert 2 fixes that were actually coverity false positives
2016-05-05 22:51:45 +00:00
Baptiste Daroussin
3c04e9b8da Update to 1.7.99.2 (aka 1.8.0 rc1)
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
2016-05-05 18:34:52 +00:00
John Marino
a9d94c45cc ports-mgmt/synth: Stop using bundled adacurses & IFM
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.
2016-04-30 07:27:22 +00:00
Pawel Pekala
7136e4a1cf Update to version 20160411
PR:		208689
Submitted by:	maintainer
2016-04-27 17:17:36 +00:00
Mathieu Arnold
21bc5c0345 Remove USE_SQLITE from bsd.databases.mk, replaced by USES=sqlite.
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
2016-04-25 16:13:38 +00:00
Steve Wills
86cd4fbe5a many ports: mark broken on powerpc64 2016-04-21 16:43:14 +00:00
John Marino
d983b9ce6b ports-mgmt/synth: Upgrade version 1.33 => 1.34
* 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.
2016-04-19 09:10:22 +00:00
Bryan Drewery
7192f9a55d Bump revision after orphan plist fix in r412544. 2016-04-18 21:20:28 +00:00
Joe Marcus Clarke
4a1288cd49 Update to 2.17.0.
* 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]
2016-04-15 18:30:42 +00:00
Baptiste Daroussin
892abe2b7e Convert to @sample 2016-04-10 09:41:20 +00:00
Baptiste Daroussin
69d1bc306a Update to 1.7.99.1 (same as 1.7.2)
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)
2016-04-06 07:11:55 +00:00
Baptiste Daroussin
ec0aae92aa Update to 1.7.2
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)
2016-04-06 07:06:23 +00:00
Olli Hauer
026c472e03 - fix and sort pkg-plist 2016-04-05 06:42:07 +00:00
Colin Percival
f99100b982 Add MANIFEST files from 10.3-RELEASE.
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.
2016-04-04 07:07:10 +00:00
Baptiste Daroussin
95792e97da Update to 1.7.1
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
2016-04-02 12:51:08 +00:00
Baptiste Daroussin
2bdb3d66f3 Update to 1.7.99.0
Changes:
- Improved automatic recover from SAT solver problems (same as in 1.7.0)
2016-04-01 22:27:12 +00:00
Baptiste Daroussin
5f4b8f7e80 Update to pkg 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
2016-04-01 22:24:56 +00:00
Mathieu Arnold
8d6597e0bb Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:16:16 +00:00
Mathieu Arnold
999161a9ed Fixup some whitespace at the beginning of lines problems.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 13:18:17 +00:00
Baptiste Daroussin
02702cf90a Update to 1.6.99.6
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
2016-03-28 20:59:45 +00:00
John Marino
a10aef4a72 ports-mgmt/synth: Fix regression
The empty-queue check was supposed to improve pre-fetch behavior,
but it negatively affected other use modes, so remove the check
for now.
2016-03-28 10:09:41 +00:00
John Marino
eecae0b90d ports-mgmt/synth: Upgrade version 1.32 => 1.33
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.
2016-03-27 14:21:49 +00:00
John Marino
8c4a309400 ports-mgmt/synth: Upgrade version 1.31 => 1.32
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
2016-03-20 11:49:59 +00:00
Dirk Meyer
124f25b786 - update to 1.89 2016-03-19 11:00:57 +00:00
John Marino
8ecfa10f36 ports-mgmt/synth: Upgrade version 1.30 => 1.31
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.
2016-03-17 10:45:10 +00:00
Frederic Culot
5eb4b7a95a - Update to 0.3
Changes:	https://github.com/culot/portal/blob/master/CHANGES
2016-03-14 13:47:06 +00:00
Kurt Jaeger
2be3d1ede6 ports-mgmt/portest: 0.1.4 -> 0.1.6
- Moved RUN_DEPEND as new portlint option
- Removed default options

PR:		207905
Submitted by:	Ultima1252@gmail.com (maintainer)
2016-03-11 18:53:02 +00:00
John Marino
c18bc18524 ports-mgmt/synth: Upgrade version 1.22 => 1.30
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.
2016-03-10 13:25:54 +00:00
John Marino
3559a7db78 ports-mgmt/synth: Upgrade version 1.21 => 1.22
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.
2016-03-09 08:53:03 +00:00
Kurt Jaeger
1254c1aef3 New port: ports-mgmt/portest
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
2016-03-08 17:49:44 +00:00
Mathieu Arnold
018eeadae5 Always set the DEFAULT github DISTFILE with .tar.gz for EXTRACT_SUFX.
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
2016-03-08 13:09:12 +00:00
John Marino
3182e4d46d ports-mgmt/synth: Upgrade version 1.20 => 1.21
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.
2016-03-08 08:23:00 +00:00
John Marino
6d71ed5800 ports-mgmt/synth: Upgrade version 1.11 => 1.20
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.
2016-03-08 01:48:59 +00:00
Adam Weinberger
591a0e0dea Enable BASH and ZSH options (install their completions) by default.
Also, add NO_ARCH. PORTREVISION bump for pkg change.

PR:		207075
Submitted by:	maintainer
2016-03-04 16:50:48 +00:00
John Marino
7d7ea0e744 ports-mgmt/synth: Upgrade version 1.10 => 1.11
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).
2016-03-03 10:17:48 +00:00
John Marino
3a94393cc0 ports-mgmt/synth: Upgrade version 1.03 => 1.10
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.
2016-03-02 19:42:40 +00:00
John Marino
dc99166861 ports-mgmt/synth: Upgrade version 1.02 => 1.03
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]
2016-02-29 19:44:41 +00:00
Bryan Drewery
da7ab928ba Add missing patch for r409562 2016-02-25 22:35:10 +00:00
Baptiste Daroussin
255a33dd69 Add a patch to fix hardlink installation
pkg 1.6.5 is on its way but requires more testing
2016-02-25 21:49:33 +00:00
Frederic Culot
abea3de606 - Update to 0.2
Changes:	https://github.com/culot/portal/blob/master/CHANGES
2016-02-24 10:19:34 +00:00
Frederic Culot
cab6892990 - Simplify Makefile
Reported by:	mat
2016-02-21 08:36:52 +00:00
Frederic Culot
a5d74e7c64 Portal is a front-end to FreeBSD's package manipulation tool pkg(8).
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
2016-02-20 14:31:40 +00:00
John Marino
02131e601b ports-mgmt/synth: Upgrade version 1.01 => 1.02 (tty checked)
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
2016-02-17 18:24:21 +00:00