pass thru the values we might need for roach

construct the full object, even though we don't do anything smart with
it yet
This commit is contained in:
espie 2019-10-28 15:55:49 +00:00
parent 1c5fd4e8f4
commit b436a83da9
5 changed files with 51 additions and 16 deletions

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: Grabber.pm,v 1.40 2019/10/28 14:24:30 espie Exp $
# $OpenBSD: Grabber.pm,v 1.41 2019/10/28 15:55:49 espie Exp $
#
# Copyright (c) 2010-2013 Marc Espie <espie@openbsd.org>
#
@ -53,7 +53,7 @@ sub new
eventloopcode => $eventloopcode
}, $class;
my @values = ();
if ($state->{want_fetchinfo}) {
if ($state->{want_fetchinfo} || $state->{roach}) {
require DPB::Fetch;
push(@values, 'fetch');
$o->{fetch} = DPB::Fetch->new($state->distdir, $state->logger,

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: PortInfo.pm,v 1.39 2019/10/28 09:47:40 espie Exp $
# $OpenBSD: PortInfo.pm,v 1.40 2019/10/28 15:55:49 espie Exp $
#
# Copyright (c) 2010-2013 Marc Espie <espie@openbsd.org>
#
@ -150,7 +150,7 @@ sub new
$h{$v} = 1;
}
}
bless \%h, $class;
return bless \%h, $class;
}
sub string
@ -167,6 +167,22 @@ sub string
return join(',', @l);
}
package AddRoachList;
our @ISA = (qw(AddPropertyList));
sub new
{
my ($class, $value) = @_;
my %h = ();
for my $v ($class->make_list($value)) {
if ($v =~ /^(.*?)\:(.*)$/) {
$h{$1} = $2;
} else {
$h{$v} = 1;
}
}
return bless \%h, $class;
}
package AddOrderedList;
our @ISA = qw(AddList);
sub new
@ -316,8 +332,9 @@ my %adder = (
# and shrinking
# DISTIGNORE should be there ?
# stuff for roach
DISTNAME => 'AddInfo',
HOMEPAGE => 'AddInfo',
PORTROACH => 'AddInfo',
PORTROACH => 'AddRoachList',
PORTROACH_COMMENT => 'AddInfo',
MAINTAINER => 'AddInfo',
);

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: Roach.pm,v 1.1 2019/10/28 14:24:30 espie Exp $
# $OpenBSD: Roach.pm,v 1.2 2019/10/28 15:55:49 espie Exp $
#
# Copyright (c) 2019 Marc Espie <espie@openbsd.org>
#
@ -54,17 +54,33 @@ sub build_roachinfo
package DPB::RoachInfo;
sub roachinfo
{
return (qw(HOMEPAGE PORTROACH PORTROACH_COMMENT MAINTAINER));
}
sub new
{
my ($class, $v) = @_;
my $o = bless {}, $class;
my $o = bless {pkgpath => $v->pkgpath}, $class;
for my $d ($class->roachinfo) {
if (defined $v->{info}{$d}) {
$o->{$d} = $v->{info}{$d};
}
}
# XXX need a copy because it will be destroyed by FETCH
if (defined $v->{info}{DIST}) {
my %h = %{$v->{info}{DIST}};
$o->{DIST} = \%h;
}
$class->forget_roachinfo($v);
return $o;
}
sub forget_roachinfo
{
my ($class, $v) = @_;
for my $d (qw(HOMEPAGE PORTROACH PORTROACH_COMMENT MAINTAINER)) {
for my $d ($class->roachinfo) {
delete $v->{info}{$d};
}
}

View File

@ -1,5 +1,5 @@
# ex:ts=8 sw=4:
# $OpenBSD: Vars.pm,v 1.56 2019/10/28 14:24:30 espie Exp $
# $OpenBSD: Vars.pm,v 1.57 2019/10/28 15:55:49 espie Exp $
#
# Copyright (c) 2010-2013 Marc Espie <espie@openbsd.org>
#
@ -124,8 +124,8 @@ sub grab_list
my $reset = sub {
$h = DPB::PkgPath->handle_equivalences($grabber->{state},
$h, $subdirs);
$grabber->{roach}->build_roachinfo($h);
$grabber->{fetch}->build_distinfo($h, $grabber->{state}{mirror});
$grabber->{roach}->build_roachinfo($h);
DPB::PkgPath->merge_depends($h);
&$code($h);
$h = {};

View File

@ -1,6 +1,6 @@
#-*- mode: Makefile; tab-width: 4; -*-
# ex:ts=4 sw=4 filetype=make:
# $OpenBSD: bsd.port.mk,v 1.1480 2019/10/17 21:40:38 naddy Exp $
# $OpenBSD: bsd.port.mk,v 1.1481 2019/10/28 15:55:49 espie Exp $
#
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
@ -123,16 +123,18 @@ _ALL_VARIABLES += DISTFILES PATCHFILES SUPDISTFILES DIST_SUBDIR MASTER_SITES \
.if ${DPB:L:Mtest} || ${DPB:L:Mall}
_ALL_VARIABLES += NO_TEST TEST_IS_INTERACTIVE TEST_DEPENDS
.endif
.if ${DPB:L:Mall} || ${DPB:L:Mroach}
_ALL_VARIABLES += DISTNAME HOMEPAGE PORTROACH PORTROACH_COMMENT MAINTAINER
.endif
.if ${DPB:L:Mall}
_ALL_VARIABLES += HOMEPAGE DISTNAME \
BROKEN COMES_WITH \
_ALL_VARIABLES += BROKEN COMES_WITH \
USE_GMAKE USE_GROFF MODULES FLAVORS \
NO_BUILD PSEUDO_FLAVORS \
CONFIGURE_STYLE USE_LIBTOOL SEPARATE_BUILD \
SHARED_LIBS TARGETS PSEUDO_FLAVOR \
MAINTAINER AUTOCONF_VERSION AUTOMAKE_VERSION CONFIGURE_ARGS \
GH_ACCOUNT GH_COMMIT GH_PROJECT GH_TAGNAME PORTROACH \
PORTROACH_COMMENT MAKEFILE_LIST USE_LLD USE_WXNEEDED COMPILER \
AUTOCONF_VERSION AUTOMAKE_VERSION CONFIGURE_ARGS \
GH_ACCOUNT GH_COMMIT GH_PROJECT GH_TAGNAME \
MAKEFILE_LIST USE_LLD USE_WXNEEDED COMPILER \
COMPILER_LANGS COMPILER_LINKS SUBST_VARS UPDATE_PLIST_ARGS \
PKGPATHS
_ALL_VARIABLES_PER_ARCH += BROKEN