head 1.4; access; symbols pkgsrc-2013Q2:1.3.0.14 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.12 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.10 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.8 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.3.0.6 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.4 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.2 pkgsrc-2011Q4-base:1.3; locks; strict; comment @# @; 1.4 date 2013.08.15.11.12.06; author marino; state dead; branches; next 1.3; commitid H8gHqh7qKxKFBx1x; 1.3 date 2011.11.20.16.20.24; author marino; state Exp; branches; next 1.2; 1.2 date 2011.11.14.02.00.20; author marino; state Exp; branches; next 1.1; 1.1 date 2011.11.02.21.13.27; author marino; state Exp; branches; next ; desc @@ 1.4 log @Remove pkgtools/tinderbox-dragonfly This package is no longer in use, and is far behind upstream now. It is heavily customized so maintenance is far from trivial. There were no objections to the announcement of my intentions to remove this package which I made on package-users@@ a month ago. I feel it is better to retire this package than allow it to bitrot further. @ text @$NetBSD: patch-as,v 1.3 2011/11/20 16:20:24 marino Exp $ --- ../FreeBSD/lib/tc_command.pl 2011-11-20 13:05:28.355724000 +0000 +++ lib/tc_command.pl @@@@ -1,4 +1,4 @@@@ -#!/usr/bin/perl +#!/usr/pkg/bin/perl #- # Copyright (c) 2004-2008 FreeBSD GNOME Team # All rights reserved. @@@@ -188,15 +188,15 @@@@ my $ds = new Tinderbox::TinderboxDS(); help => "Add a jail to the datastore (do NOT call this directly; use createJail instead)", usage => - "-j -u CSUP|CVSUP|LFTP|SVN|USER|NONE -t [-d ] [-m ] [-a ]", + "-j -u GIT|RELEASE|SNAPSHOT|USER|NONE -t [-d ] [-m ] [-a ]", optstr => 'm:j:t:u:d:a:', }, "addPortsTree" => { func => \&addPortsTree, help => "Add a portstree to the datastore", usage => - "-p -u CSUP|CVSUP|SVN|USER|NONE [-d ] [-m ] [-w ]", - optstr => 'm:p:u:d:w:', + "-p [-t ] [-d ] [-m ] [-w ]", + optstr => 'm:p:u:t:d:w:', }, "addPort" => { help => "Add a port to the datastore", @@@@ -240,9 +240,16 @@@@ my $ds = new Tinderbox::TinderboxDS(); func => \&getDependenciesForPort, help => "Get stored dependencies for a given port and build", usage => - "-b -d [-t EXTRACT_DEPENDS|PATCH_DEPENDS|FETCH_DEPENDS|BUILD_DEPENDS|LIB_DEPENDS|RUN_DEPENDS|TEST_DEPENDS]", + "-b -d [-t EXTRACT_DEPENDS|PATCH_DEPENDS|FETCH_DEPENDS|BUILD_DEPENDS|LIB_DEPENDS|RUN_DEPENDS|TEST_DEPENDS|DEPENDS]", optstr => 'b:d:t:', }, + "getDependencyCascades" => { + func => \&getDependencyCascades, + help => "Get unique dependencies of port's dependencies, recursively", + usage => + "-b -d ", + optstr => 'b:d:', + }, "listHooks" => { func => \&listHooks, help => @@@@ -560,15 +567,15 @@@@ my $ds = new Tinderbox::TinderboxDS(); "createJail" => { help => "Create a new jail", usage => - "-j -u CSUP|CVSUP|LFTP|SVN|USER|NONE [-t ] [-d ] [-C] [-P ] [-H ] [-D ] [-m ] [-I] [-a ]", - optstr => 'j:t:d:CP:H:D:m:u:Ia:', + "-j -u GIT|RELEASE|SNAPSHOT|USER|NONE -t [-d ] [-H ] [-m ] [-I]", + optstr => 'j:t:d:H:m:u:I:', }, "createPortsTree" => { help => "Create a new portstree", usage => - "-p -u CSUP|CVSUP|SVN|USER|NONE [-d ] [-C] [-P ] [-H ] [-D ] [-m ] [-w ] [-I]", - optstr => 'p:d:CP:H:Im:u:w:', + "-p [-t ] [-d ] [-C] [-H ] [-m ] [-w ] [-I]", + optstr => 'p:t:d:CH:Im:u:w:', }, "createBuild" => { @@@@ -592,21 +599,21 @@@@ my $ds = new Tinderbox::TinderboxDS(); "resetBuild" => { help => "Cleanup and reset a Build environment", - usage => "-b [-n]", - optstr => 'b:n', + usage => "-b ", + optstr => 'b:', }, "tinderbuild" => { help => "Generate packages from an installed Build", usage => - "-b [-init] [-cleanpackages] [-updateports] [-skipmake] [-noclean] [-noduds] [-plistcheck] [-nullfs] [-cleandistfiles] [-fetch-original] [-onceonly] [portdir/portname [...]]", + "-b [-init] [-cleanpackages] [-updateports] [-skipmake] [-noclean] [-noduds] [-plistcheck] [-cleandistfiles] [-fetch-original] [-onceonly] [portdir/portname [...]]", optstr => 'b:', }, "updatePortsTree" => { help => "Update an existing ports tree", usage => "-p ", - optstr => 'p', + optstr => 'p:', }, "copyBuild" => { @@@@ -1489,8 +1496,18 @@@@ sub addPortsTree { sub addPortToOneBuild { my $build = $ds->getBuildByName($opts->{'b'}); my $makecache = - new Tinderbox::MakeCache($ENV{'PORTSDIR'}, $ENV{'PKGSUFFIX'}); + new Tinderbox::MakeCache($ENV{'PORTSDIR'}, $ENV{'OPTNFILE'}); my @@bports = (); + my %oper_hash = ( + EXTRACT_DEPENDS => 'ExtractDepends', + PATCH_DEPENDS => 'PatchDepends', + FETCH_DEPENDS => 'FetchDepends', + BUILD_DEPENDS => 'BuildDepends', + LIB_DEPENDS => 'LibDepends', + RUN_DEPENDS => 'RunDepends', + TEST_DEPENDS => 'TestDepends', + DEPENDS => 'Buildlink3Depends', + ); if (!$opts->{'d'}) { foreach my $port ($ds->getPortsForBuild($build)) { @@@@ -1502,7 +1519,25 @@@@ sub addPortToOneBuild { if ($opts->{'R'}) { foreach my $pdir (@@bports) { - addPorts($pdir, $build, $makecache, undef); + my $pCls = addPorts($pdir, $build, $makecache, undef); + $ds->clearDependenciesForPort($pCls, $build, undef); + foreach my $deptype (keys %oper_hash) { + my $oper = $oper_hash{$deptype}; + foreach my $dn ($makecache->$oper($pdir)) { + my $dep = $ds->getPortByDirectory($dn); + next if (!defined($dep)); + if ( + !$ds->addDependencyForPort( + $pCls, $build, + $deptype, $dep + ) + ) + { + warn "WARN: Failed to add $deptype entry for $pdir: " + . $ds->getError() . "\n"; + } + } + } } } else { my @@deps = @@bports; @@@@ -1516,15 +1551,6 @@@@ sub addPortToOneBuild { } foreach my $port (keys %seen) { my $pCls = $seen{$port}; - my %oper_hash = ( - EXTRACT_DEPENDS => 'ExtractDepends', - PATCH_DEPENDS => 'PatchDepends', - FETCH_DEPENDS => 'FetchDepends', - BUILD_DEPENDS => 'BuildDepends', - LIB_DEPENDS => 'LibDepends', - RUN_DEPENDS => 'RunDepends', - TEST_DEPENDS => 'TestDepends', - ); $ds->clearDependenciesForPort($pCls, $build, undef); @@@@ -1548,7 +1574,6 @@@@ sub addPortToOneBuild { } } } - } } @@@@ -1600,7 +1625,7 @@@@ sub addBuildPortsQueueEntry { $ds->addBuildPortsQueueEntry($build, $portdir, $priority, $user_id); if (!$rc) { - warn( "Failed to add port " + warn( "Failed to add port " . $portdir . " to the datastore: " . $ds->getError() @@@@ -1720,6 +1745,7 @@@@ sub getDependenciesForPort { LIB_DEPENDS => 4, RUN_DEPENDS => 5, TEST_DEPEND => 6, + DEPENDS => 7, ); if (!$opts->{'b'} || !$opts->{'d'}) { @@@@ -1773,6 +1799,50 @@@@ sub getDependenciesForPort { ); } } + +sub getDependencyCascades { + if (!$opts->{'b'} || !$opts->{'d'}) { + usage("getDependencyCascades"); + } + + my $port = $ds->getPortByDirectory($opts->{'d'}); + if (!defined($port)) { + cleanup($ds, 1, + "Port, " + . $opts->{'d'} + . " is not in the datastore.\n"); + } + + if (!$ds->isValidBuild($opts->{'b'})) { + cleanup($ds, 1, "Unknown build, " . $opts->{'b'} . "\n"); + } + + my $build = $ds->getBuildByName($opts->{'b'}); + + if (!$ds->isPortForBuild($port, $build)) { + cleanup($ds, 1, + "Port, " + . $opts->{'d'} + . " is not a valid port for build, " + . $opts->{'b'} + . "\n"); + } + + my @@deps = $ds->getDependencyCascades($port, $build); + + if (@@deps) { + map { print $_->getDirectory() . "\n" } @@deps; + } elsif (defined($ds->getError())) { + cleanup($ds, 1, + "Failed to get cascading dependencies for this port from the datastore: " + . $ds->getError() + . "\n"); + } else { + cleanup($ds, 0, + "There are no cascading dependencies for this port in the datastore.\n" + ); + } +} sub listBuildPortsQueue { my $build_filter; @ 1.3 log @pkgtools/tinderbox-dragonfly: Update to version 3.4.1 Besides syncing with FreeBSD Tinderbox 3.4.1, the following updates were included: 1) Creating bulkbuild handling script 2) Created postPortBuild hook script to support bulk builds 3) Fixed fake "wrong arch" error due to funky licenses 4) Deviated "mark_failed()" from Tinderbox-FreeBSD to fire postPortBuild hook for ports marked failed due to failed dependency 5) Added tc_command.pl patch that should have gone in previous update to support pkgsrc scan bulk script @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @pkgtools/tinderbox-dragonfly: Several bug fixes This update of tinderbox addresses several issues: 1) Updates obsolete failure message on options.mk 2) Adds support for PKG_DEVELOPER=yes 3) Switches build failure default to build only once, twice is the option. 4) Merge BOOTSTRAP_DEPENDS with FETCH_DEPENDS in order to maintain the same database structure as Tinderbox. Removes two patches. 5) Change behavior where leftover files immediately after package deinstall is no longer considered an error, but still list the files that do this. 6) Add a way out of an infinite recursion loop as seen when the package name changed between portbuild and buildscript (considered a safeguard). 7) Push the package name from portbuild to buildscript to avoid issue with php5 packages getting renamed to php53 (for example), which was the cause for the infinite loop on lang/pear. 8) Fix enterbuild by allowing it to properly detected when the port has entered the sleep state. 9) Fix php/pgsql bug on row limiting, should be fixed upstream for next released. Requires old patch to be reincarnated. 10) Fix PLIST, several files were missing 11) Add utility script to add all 10K packages to database (this takes several hours to do) @ text @d3 1 a3 1 --- ../FreeBSD/lib/tc_command.pl 2011-10-16 00:52:55.000000000 +0000 d15 1 a15 1 - "-j -u CSUP|CVSUP|LFTP|USER|NONE -t [-d ] [-m ] [-a ]", d23 1 a23 1 - "-p -u CSUP|CVSUP|USER|NONE [-d ] [-m ] [-w ]", d52 2 a53 2 - "-j -u CSUP|CVSUP|LFTP|USER|NONE [-t ] [-d ] [-C] [-H ] [-m ] [-I] [-a ]", - optstr => 'j:t:d:CH:m:u:Ia:', d61 2 a62 2 - "-p -u CSUP|CVSUP|USER|NONE [-d ] [-C] [-H ] [-m ] [-w ] [-I]", - optstr => 'p:d:CH:Im:u:w:', d94 1 a94 1 @@@@ -1489,7 +1496,7 @@@@ sub addPortsTree { d101 10 d113 41 a153 6 @@@@ -1524,6 +1531,7 @@@@ sub addPortToOneBuild { LIB_DEPENDS => 'LibDepends', RUN_DEPENDS => 'RunDepends', TEST_DEPENDS => 'TestDepends', + DEPENDS => 'Buildlink3Depends', ); d156 2 a157 1 @@@@ -1548,7 +1556,6 @@@@ sub addPortToOneBuild { d165 1 a165 1 @@@@ -1600,7 +1607,7 @@@@ sub addBuildPortsQueueEntry { d174 1 a174 1 @@@@ -1720,6 +1727,7 @@@@ sub getDependenciesForPort { d182 1 a182 1 @@@@ -1773,6 +1781,50 @@@@ sub getDependenciesForPort { @ 1.1 log @Import pkgtools/tinderbox-dragonfly Tinderbox is a well-known package building system for FreeBSD. This commit ports the original Tinderbox to DragonFly. The scripts are highly platform specific, so only one operating system can be supported per package. With interest, alternative versions such as tinderbox-netbsd and tinderbox-sunos could be developed fairly easily as they would share the pkgsrc-specific changes with this package. The repository for the project is: https://github.com/jrmarino/pkgsrc-tinderbox @ text @d35 1 a35 1 + "-b -d [-t BOOTSTRAP_DEPENDS|EXTRACT_DEPENDS|PATCH_DEPENDS|FETCH_DEPENDS|BUILD_DEPENDS|LIB_DEPENDS|RUN_DEPENDS|TEST_DEPENDS|DEPENDS]", d103 1 a103 1 @@@@ -1524,6 +1531,8 @@@@ sub addPortToOneBuild { d107 1 a107 2 + BOOTSTRAP_DEPENDS => 'BootstrapDepends', + DEPENDS => 'Buildlink3Depends', d111 1 a111 1 @@@@ -1548,7 +1557,6 @@@@ sub addPortToOneBuild { d119 1 a119 1 @@@@ -1600,7 +1608,7 @@@@ sub addBuildPortsQueueEntry { d128 1 a128 1 @@@@ -1720,6 +1728,8 @@@@ sub getDependenciesForPort { d132 1 a132 2 + BOOTSTRAP_DEPENDS => 7, + DEPENDS => 8, d136 1 a136 1 @@@@ -1773,6 +1783,50 @@@@ sub getDependenciesForPort { @