Commit graph

75 commits

Author SHA1 Message Date
Bryan Drewery
58e884a591 Update to 3.1.6
Changes:
  - jail -m src: Fix asking about removing files. This was a bug in 3.1.0. The
    fix came in right after 3.1.5 release.
2015-05-11 15:57:51 +00:00
Bryan Drewery
677d6537a9 Update to 3.1.5
Changes: https://github.com/freebsd/poudriere/wiki/release_notes_315
2015-05-11 14:03:53 +00:00
Bryan Drewery
aa6ad6e726 USE_GITHUB: For the new support, fix DISTNAME to be more consistent.
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in
it. When not using GH_TAGNAME it would not have this. Now both cases
will add in the GH_PROJECT and GH_ACCOUNT.

Add special care to ensure that the DISTVERSION is not added in twice. If
a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For
that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used.

empty() is used rather than (!defined || !${}) to support fmake.

The purpose of setting DISTNAME at all in these cases is to make it more clear
that the distfile is from *GITHUB* and to avoid collisions if a project were
to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there
are real risks that collisions on filenames would happen on renamed or moved
projects, which is fairly common. A GITHUB-generated file may not match
a custom-rolled or git-archive-rolled distfile.

PR:		199069
With hat:	portmgr
Testing done:	All USE_GITHUB ports without GH_COMMIT were checksum/fetch/extract/WRKSRC tested.
2015-04-28 18:44:04 +00:00
Bryan Drewery
5f9aedd9d5 No need for bsd.port.options.mk now 2015-04-28 17:27:28 +00:00
Bryan Drewery
4b36d9cb6b Update to 3.1.4
Changelog: https://github.com/freebsd/poudriere/wiki/release_notes_314
2015-04-10 16:06:21 +00:00
Bryan Drewery
ecd4ad78f3 Update to 3.1.3
Changes:
  - Fix deleting jails when using NO_ZFS/TMPFS_ALL is used.
2015-04-04 04:45:06 +00:00
Bryan Drewery
a574c6ec77 Update to 3.1.2
Changelog: https://github.com/freebsd/poudriere/wiki/release_notes_312
2015-03-31 17:26:06 +00:00
Bryan Drewery
db55af0fea Fix the new USE_GITHUB to rename the distfile such that it does not
conflict with the old scheme and cause a "reroll" or "invalid checksums".  This
also avoids clobbering the FreeBSD distcache.

Use a revision in the DISTNAME for USE_GITHUB in case we need to bump this
again for anything. It's more a hint of how to handle it in the future.

Reported by:	mat
Discused with:	mat, antoine, swills
With hat:	portmgr
2015-03-19 20:30:19 +00:00
Bryan Drewery
1c8c975d95 Convert to new USE_GITHUB 2015-03-19 18:31:38 +00:00
Bryan Drewery
5b5a90256d Update USE_GITHUB so it does not require GH_COMMIT.
Using this new scheme allows only setting the _tag_ or _commit hash_ in
GH_TAGNAME and not having to know the hash for a tag.  This scheme will
download a tarball that has a different checksum than before due to a changed
directory name for extraction.

The following MASTER_SITES are provided to retain the old checksum and
directory structure (that require GH_COMMIT):
  GH -> GHL
  GITHUB -> GITHUB_LEGACY

Differential Revision:	https://reviews.freebsd.org/D748
Submitted by:	amdmi3
Reviewed by:	mat, swills, antoine, bdrewery
With hat:	portmgr
2015-03-19 16:44:57 +00:00
Dmitry Marakasov
c4a79d6fc9 - Add missing EXAMPLES option
PR:		196244
Submitted by:	amdmi3
Approved by:	bdrewery (maintainer)
2015-03-11 17:33:39 +00:00
Bryan Drewery
d35f39e899 - Update to 3.1.1 which fixes pkg(8) crashing in 8.4 jails.
8.4 jails should be recreated if created with Poudriere 3.1 or
  poudriere-devel-3.0.99.20141117.
2014-12-08 17:15:40 +00:00
Bryan Drewery
af42edc943 Update to 3.1.0.
19 months have passed since the release of 3.0.0 and there have been 1259
commits from over 24 contributors. Though many of the bugfixes did make it into
the 3.0 branch, not all of them did.

3.1 brings many speedups, new features and commands, a new web interface, and
build hooks. The new web interface works at a top-level, jail-level and the
build-level still by using a static site with AJAX.

There is a queue system that is not quite ready yet but should make it into
3.2.

The release notes documenting the major changes is at
https://github.com/freebsd/poudriere/wiki/release_notes_31

Thank you to everyone involved.

Support can be found in #poudriere on Freenode.
2014-12-04 00:36:59 +00:00
Bryan Drewery
a7e61407eb Remove unneeded @dir entries 2014-11-07 00:42:27 +00:00
Bryan Drewery
dc44d10de8 - Update to 3.0.19
Changes:
  * Fix improper call to 'msg_warn'. Bad backport from 3.1.

Reported by:	sunpoet
2014-09-17 15:51:37 +00:00
Bryan Drewery
c94d6270d3 - Update to 3.0.18
Changes:
  * Add a check for 3.1 repository and reject the build. 3.0 does not know
    how to handle 3.1's repository format. Downgrading is not supported
    at this point.
  * Allow securelevel>=1 with USE_TMPFS=all
  * Add a warning that DEVELOPER=yes is ignored in lieu of bulk -t/testport
2014-09-16 17:07:11 +00:00
Bryan Drewery
7061e6867f - Update to 3.0.17
Changes:
  * Workaround regression with pkg-1.3 causing all packages to have new options.
  * distclean: Fix some false-positives
  * Fix dead link in poudriere.conf
2014-08-01 23:51:29 +00:00
Bryan Drewery
d9e14a982a - Update to 3.0.16
- Move to using pkg-plist

Changes:

  This will likely be the last 3.0.x release. 3.1 is almost complete.

  * Leftovers checking has moved to Ports Mk/Scripts/check_leftovers.sh,
    which allows more consistency and easier maintenance without requiring
    a Poudriere release to make changes.
  * Staging Orphans has moved to Ports 'make check-plist' for the same
    reasons. See r351587 for more information on the new behavior.

  The new leftover/orphan code has new %%PLIST%% sub behavior and also
  fixes many false-positive orphans, leftovers, and @dirrm showing.

  * Fix many races in port cleanup/skip handling.
  * Fix crashed builder detection.
  * Hide pkg_install EOL warnings and disable WARNING/ERROR waits when
    testing
  * Disable DEVELOPER from make.conf; Poudriere will automatically
    set it when appropriate. This prevents testing of port dependencies
    that were not requested to be tested.
  * distclean: Prevent removing all files by accident.
  * Having PKG_REPO_SIGNING_KEY set but the file missing is now fatal.
  * kern.securelevel >=1 is now fatal.
  * Fix 'kill: No such process' warnings with older /bin/sh (8.x)
  * Fix crash on 8.3 due to bug with $(()) handling of _vars (fixed in
    base r234001)
  * Fix case of packages always rebuilding with "changed options" when
    the port has an OPTION defined multiple times (such as fixed in
    ports r352512)
  * Fix 'Terminated' warning showing at shutdown with older /bin/sh (fixed
    by r218105 but never made it to stable/8)
2014-05-10 14:27:15 +00:00
Baptiste Daroussin
24708f28b5 Fix packaging as a user
While here strip binaries

Reported by:	jmmv
2014-04-04 22:13:44 +00:00
Bryan Drewery
f3c9132071 - Update to 3.0.15
Changes:
  - Fix ipv6 only usage
  - Ensure /sbin and /usr/sbin are in PATH when running
  - Remove trailing slashes from listed_ports.
  - Fix child process cleanup logic to only sleep if child
    still running.
  - Always dismount filesystems and try cleaning up when exiting and in jail -k
  - For stage_orphans, ignore modified files (such as nobody vs root)
  - testport -I: Mark cleanup done, not as recursively failing
  - testport -i: Use a local.conf instead of PACKAGESITE
  - testport -I: Suggest same login method which is more sane/clean than exec /bin/sh
  - options: Require dialog4ports as it runs from host and
    jail may be for a different ARCH
  - Ignore parents of home directories too during leftovers check
  - Ignore /var/db/dbus/machine-id leftover
  - Restrict ZFS on 9.0/9.1 due to known deadlock
  - bulk: Parse MOVED for given port build list
  - Add support for svnlite and overriding SVN_CMD
  - Show warning when jail is newer than host
  - Show host/jail OSVERSION in build logs
2014-03-17 15:06:22 +00:00
Bryan Drewery
bc1ca15647 Update LICENSE to new format 2014-01-22 23:05:13 +00:00
Bryan Drewery
3bde9b6433 - Update to 3.0.14
Changes:
  * Fix dependencies when existing packages have their origins moved
    via MOVED by now loading and parsing MOVED for existing packages
    only.
  * Force umount some directories to avoid desktop utils traversing them
    causing them to remain mounted.
  * Fix stage orphan false-positives with KDE4_PREFIX
  * Fix a race condition in bulk which could lead to 'unknown stuck queue bug'
  * Fix usage of cpdup(1) -X [no functional change]
  * Speedup bulk startup by not rolling back fresh builder jails
  * Various parallel execution fixes
  * Parallel execution errors now wait up to 30 seconds for children to
    finish before ending the build.
  * Ignore home directory of users created by ports during leftover check
2014-01-19 14:48:22 +00:00
Baptiste Daroussin
92d95b8d9e Pass maintainership to bdrewery 2013-12-16 17:27:55 +00:00
Bryan Drewery
79060e73e7 - Update to 3.0.13
Changes:
 * Fix leftover detection on HEAD due to new nmtree
 * Fix jail rollback on HEAD due to new nmtree which manifested
   as missing dependencies in /new_packages
 * Don't exclude anything when looking for stage orphans, which
   fixes finding /var/run/PORTNAME as an orphan
2013-11-19 23:54:20 +00:00
Bryan Drewery
1557c1e84d - Update to 3.0.12
Changes:
  * Fix testport -i regression in 3.0.11
2013-10-29 00:23:20 +00:00
Bryan Drewery
ba4c3f35a9 - Update to 3.0.11
Changes:
 * poudriere.8: Document that -j is required for bulk
 * bulk/testport: Delete packages that have changed PKGNAME during startup,
   which will avoid pkg-repo duplicate package warnings/bugs. This will not
   clean up existing duplicates, just fix new ones going forward.
2013-10-16 14:21:06 +00:00
Bryan Drewery
f82181380d Fix distinfo - tag was not synced to repo yet 2013-10-10 02:24:09 +00:00
Bryan Drewery
97d9f80436 - Update to 3.0.10
Changes:
  * Fix random crashes with parallel process handling
  * jail -cu: Disable CCACHE on 10
  * testport/bulk -t: Fix staging absolute link checking with files
    that have spaces
  * testport: Fix so that MAKE_JOBS runs by default
  * bulk -t: Fix so that MAKE_JOBS does not run by default
  * testport: Fix so that the port being tested shows in the web ui.
    Note that this is still in data/logs/bulk/
  * jail: Make -m http work
  * jail -c: Fix -m ftp-archive for 9.0
2013-10-10 02:23:10 +00:00
Bryan Drewery
a183a3f453 Tie www to the stable branch 2013-10-06 15:20:14 +00:00
Bryan Drewery
8b79c194a8 - Update to 3.0.9
Changes:
  * testport: Fix pkg_install error about /prefix when not using -n
    This is due to a bug introduced in base r23100, fixed in r240682
    which never made it to 9.1

Reported by:	eadler, mandree, koobs
2013-10-01 11:44:31 +00:00
Bryan Drewery
6aed1ff332 - Update to 3.0.8
Changes:
  * bulk -t/testport: Check for absolute symlinked files when staging
    that refer back to the stagedir in the installed package
2013-09-27 11:14:16 +00:00
Bryan Drewery
8072a6eb09 Use uidfix to fix non-root build 2013-09-26 13:49:12 +00:00
Bryan Drewery
19745ebb80 Mark as NEED_ROOT for now as it fails to stage otherwise
===> src/bin (install)
install -o root  -g wheel -m 555  poudriere.sh  /wrkdirs/usr/ports/ports-mgmt/poudriere-devel/work/stage/usr/local/bin/poudriere
install: /wrkdirs/usr/ports/ports-mgmt/poudriere-devel/work/stage/usr/local/bin/poudriere: chown/chgrp: Operation not permitted
2013-09-26 13:34:49 +00:00
Bryan Drewery
b32119ff8e - Update to 3.0.7
Changes:
  - Respect DESTDIR on poudriere install
  - testport -i: Fix when orphans are found with staging
  - bulk -v: Reword distfiles message
  - bulk: Fix INDEX building showing wrong origins
  - bulk: Remove stray " done" message
  - Staging fixes for testing ports-mgmt/pkg [1]
  - jail: Deprecate csup [2]

Reported by:	madpilot [1]
Submitted by:	brd [2]
2013-09-24 02:17:45 +00:00
Bryan Drewery
e8afeda9ab - Remove stray "done" message during startup, which slipped in partially
from a 3.1 update

Reported by:	kwm
2013-09-23 15:21:07 +00:00
Bryan Drewery
cfb8657212 - Fix testport -i not working when stage orphans are found 2013-09-23 13:18:24 +00:00
Bryan Drewery
4a3f119f1a - Support STAGEDIR 2013-09-23 11:24:41 +00:00
Bryan Drewery
de3dc74894 - Update to 3.0.6
This release supports upcoming STAGE support. Please
update to it soon.

Changes:

 - Staging support.
  * Detect files orphaned in the stagedir that are not
    installed due to not being in the pkg-plist
  * Detect files that get installed outside of the
    STAGEDIR during 'make stage' as 'stage_fs_violation'
 - Rename 'preinst_fs_violation' to 'build_fs_violation'
 - latest-per-pkg links are now hardlinks
 - Fix possible recursive crash during jail startup
 - Chmod jail build dirs to 0711 to keep out gvfs-trash
   from tracking the directory during build, leading to
   kernel panic sometimes
 - jail -uc: Fix detection of errors during distrib-dirs
 - jail -uc: Fix on recent HEAD during distrib-dirs due to
   new unbound user.
 - testport: Only show -n warning if there are leftovers
 - jail -u (SVN): Fix RELEASE not being updated for UNAME_r
   during major upgrades (head becomes 10-ALPHA, 11, etc)
2013-09-22 23:14:15 +00:00
Baptiste Daroussin
16f65335a1 Add NO_STAGE all over the place in preparation for the staging support (cat: ports-mgmt) 2013-09-20 22:36:49 +00:00
Bryan Drewery
3dcc52d696 - Update to 3.0.5
Changes:
  - Fix removing PREFIX in OVERWRITE_BASE ports
  - Fix race condition in jail cleanup
  - CHECKED_CHANGED_DEPS is fixed to properly handle
    dependencies on base libraries with port fallbacks
  - Disable buildtime tracking by default
  - testport -i: Fix for when build fails
  - testport: Add hint about using -n when leftovers
    are found
  - Change to using USE_PACKAGE_DEPENDS_ONLY
  - Fix detection of errors during startup due to missing
    fdescfs or other kernel modules
2013-09-07 11:49:10 +00:00
Bryan Drewery
dc45745bcc - Update to 3.0.4
Changes:
  * Fix including MASTERNAME-make.conf twice in some cases
  * Fix filename quoting to ensure any packages with spaces
    work. This is to allow S3 usage with files that have '+'
    in them [1]
  * Fix deps calculations not halting the build on errors
  * jail/ports -u: Always run 'svn upgrade' before starting,
    which fixes 1.7->1.8 svn upgrades
  * jail: Fix building older releases from recent HEAD, which
    requires devel/fmake on host.
  * bulk -c: Fix cleaning of cache dir
  * HTML: Default the build name to YYYY-MM-DD_HHhMMmSSs to
    remove ':' which causes URL encoding/tab-completion issues
  * Update wiki on custom ports tree creation

[1] https://forums.aws.amazon.com/message.jspa?messageID=208136
2013-07-02 12:20:51 +00:00
Bryan Drewery
901953b67d - Update to 3.0.3
- Update web documentation for using custom ports tree

Changes:
    - Add missing validations to check that the specified
      ports tree exists
    - SIGINFO/status fixes
    - SIGINT/SIGTERM no longer marks a build as 'crashed'
    - Fix pkgng being required on the host to build pkgng packages [1]
    - Fix CCACHE support by always mounting to /root/.ccache
    - jail: Fix USE_TMPFS=all cleanup/deleting
    - ports -c: Fix svn+file
    - Allow DISTFILES_CACHE=PORTSDIR/distfiles again
    - Jail tar(1) and pkg(8) invokations
    - testport: Make failed builds more clear [2]

Reported by:	tj [1]
Submitted by:	antoine [2]
2013-06-08 12:05:33 +00:00
Bryan Drewery
4be53535fd - Update to 3.0.2
- Update WWW to be a tagged link so that the documentation
  matches the version installed

Changes:

  - Add workaround for ZFS zteardown deadlock on 9.0/9.1-RELEASE
  - jail -c: Fix NO_ZFS support
  - options: Fix *make.conf not being respected
  - status: Fix when running multiple builds at once
  - Various fixes and documentation fixes
2013-05-23 00:26:27 +00:00
Bryan Drewery
bfcc65fe13 - Update to 3.0.1
Changes:
  - Fix NO_ZFS support

Reported by:	tj
2013-05-19 01:57:13 +00:00
Bryan Drewery
dc1c145819 - Update to 3.0
Changes:
  - ZFS support is now optional:
    * NO_ZFS can be set to disable ZFS usage
    * TMPFS_ALL can be used to the build 100% in memory via tmpfs
  - Jail/Port properties are no longer stored in ZFS. They will
    be automatically converted on the first execution. This means
    that downgrading to 2.x is not easily possible.
  - Removed cron command
  - queue/daemon added
    * These will be expanded more in 3.1 and the usage may change.
  - New HTML/AJAX interface using jQuery
  - Build times are now tracked
  - Runaway builds are now automatically killed after 7200/84600
    seconds of no output / max build time
  - Build logs are now saved forever and not removed on every build.
    testport will store its logs into "bulk" dir for now as well.
  - Ability to resume a previous bulk -a build by using -B (this
    is mostly for exp-runs as it allows grouping incremental logs
    in with the previous logs). By default the buildname defaults
    to YYYY-MM-DD_HH:MM:SS for every build.
  - Install depends just-in-time in the proper sequence ordering,
    instead of all upfront. This also fixes differences between
    testport and bulk with regards to run-depends.
  - Give a port all the special depends distfiles it needs during
    build as well. This fixes issues with fetching and distfiles.
  - Add basic hook support in /usr/local/etc/poudriere.d/hooks
  - CHECK_CHANGED_OPTIONS now defaults to verbose
  - Add CHECK_CHANGED_DEPS (default yes) to automatically detect
    direct dependency changes and rebuild packages if needed. This
    allow automatically detecting default postgresql/mysql/perl
    changes requiring rebuild of ports. Note this has a bug with
    ports that depend on libraries that are in base, but have a
    port fallback. This will be addressed in 3.1.
  - The reason for packages being deleted during the startup is
    now more verbose
  - Speedup packaging by reducing I/O
  - Port testing: Add "preinst_fs_violation" which will detect
    ports that touch the filesystem during fetch/build before
    calling install.
  - Lots of performance improvements. Poudriere is now lock-free
    and has very little overhead.
  - Various documentation/typo fixes
  - Support value of 'no' for NO_RESTRICTED and SAVE_WRKDIR
  - Add new latest-per-pkg symlinks into the root bulk/ dir and
    bulk/jail/ dirs to link back to the most recent builds for
    each package
  - Add new subcommand 'status' which lists running builds. Specify
    -j[pz] to view the current status of a specific build and all of
    its jobs
  - Fix support for jails with ':' in them
  - Buildtimes are now tracked

  - ports:
    * Support checking out a different branch with -B

  - testport:
    * -d option has been removed
    * testport -i improvements:
      - Network enabled
      - Works even when build fails
      - RUN_DEPENDS now installed
      - Add hostname into /etc/hosts
      - tty usage is fixed
    * Add .keep support for wrkdir saving

  - bulk:
      * New C index builder for pkg_* builds
      * Add -N: skip generating package repository or INDEX
      * Add -T: Use TRY_BROKEN
      * Add -F: Try to download from the original mirror and
        ignore all FreeBSD mirrors
      * Allow specifying -f multiple times

  - jail:
      * -c: Add -P ./path.to.patch to patch the src tree with
        the given patch before building it
      * -c: Fix on recent CURRENT by using DB_FROM_SRC

Thank you to all contributors and testers

Please report and discuss defects in #poudriere on freenode
or report to https://fossil.etoilebsd.net/poudriere/reportlist
2013-05-18 19:49:01 +00:00
Bryan Drewery
a0868d74e5 - Update to 2.4.2
Changes:
  - Remove distfile sandboxing for now, which fixes several ports
    trying to fetch files in the wrong phase and then failing.
    This has been reworked in 3.0/poudriere-devel.
  - Fix VERSION leaking into some builds
  - Hide some harmless warnings

Feature safe:	yes
2013-04-19 13:37:59 +00:00
Bryan Drewery
8334bd8845 Remove standard ZSH_DESC 2013-03-28 13:03:12 +00:00
Bryan Drewery
59257b3ffb - Update to 2.4.1
Changes:
 - Require DISTFILES_CACHE
 - Require that DISTFILES_CACHE not be in the PORTSDIR since it
   will be mounted read-only now
2013-03-25 15:08:30 +00:00
Bryan Drewery
6702de8f5f - Update to 2.4
This will be the last 2.x release. The 3.0 release will have
  optional support for NO ZFS and is currently in testing.
- Convert tab to space in WWW

Changes:
    - cron: This is now deprecated and will be replaced in 3.0 with a daemon
    - testport: -d support has been deprecated and will be removed in 3.0. Use
      -p instead.
    - testport: Add interactive test mode with -i
    - bulk: Add -vv to display which dependencies are required and causing
      rebuilds
    - jail: Validate that jails do not contain a '.' per jail(8) restrictions
    - options: Fix options not properly recursing based on changed options
    - bulk: The queue is now processed through a priority based on how many
      other ports depend on the port that is ready-to-build [1]
    - bulk: Add -R option to remove RESTRICTED packages after building
    - bulk: Fix INDEX building
    - Builds now mount packages, ports, distfiles and options as read-only
      They are allowed to have changes made only in specific phases. Note that
      'testport -c' is currently broken due to this.
    - Fix IPv6-only hosts
    - Build logs now include make.conf
    - Improved leftover detection using mtree
    - Ports now only have distfiles available to them that are registered in
      their distinfo.
    - Leftovers now use the entire PLIST_SUB list
    - Fix WRKDIR being saved on extract failures
    - More build performance improvements
    - Improved stuck queue error displaying and handling
    - TMPFS_LOCALBASE support added
    - More sanity checks added for broken ports
    - ports: csup support removed as CVS is EoL
    - testport: Fix port's PREFIX not being respected
    - ports: Fix svn+https support [2]
    - Ability to always save WRKDIR if a .keep file is present

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com> [1] (based on)
Submitted by:	antoine [2]
2013-03-24 12:44:26 +00:00
Bryan Drewery
c627ac0dd2 - Update to 2.3.1
Changes:
   - Documentation/usage cleanups
   - Misc bug fixes
   - jail: Add 'gjb' method support for stable/8
   - testport: Show leftovers in plist format, with
     support for DATADIR, ETCDIR, WWWDIR, DOCSDIRS,
     EXAMPLESDIR, SITE_PERL
   - testport: Fix -c showing a blank screen with some TERMs
   - bulk: Fix skipped/total count being wrong
   - ports: Fix -c/-d errors when no portstrees file exists
   - ports: Fix -m not working
   - jail: Add support for official ftp snapshots
   - ports/jail: Add support for svn+file and svn+https
   - bulk: Show jailname in summary output
2013-01-01 23:09:16 +00:00