> n.reu...@hxgn.net hat am 5. Juni 2015 um 14:33 geschrieben:
> 
> 
> Hi @ports,
> 
> i wrote a little script to keep the ports on my 5.7-stable machine up to
> date. The script updates the port sources, runs "out-of-date" and feeds
> the output to dpb to rebuild all outdated packages. These are then
> installed via pkg_add -u:
> 
>     # cd /usr/ports
>     # /usr/bin/cvs -d ${CVSROOT} -q up -rOPENBSD_$V -Pd
>     # /usr/ports/infrastructure/bin/out-of-date -x 2>/dev/null |
> /usr/bin/tee ${PORTS}
>     # /usr/ports/infrastructure/bin/dpb -c -x -P ${PORTS}
>     # PKG_PATH=/usr/ports/packages/$(uname -m)/all /usr/sbin/pkg_add -u
> 
> To save time, i added
>     FETCH_PACKAGES=Yes
> to /etc/mk.conf to avoid building ports that are already available as
> packages.
> 
> The setting works when PKG_PATH is set, which it isn't, because
> "installpath" was already set at install time in /etc/pkg.conf.
> 
> I thought that would be enough, but neither "make install" nor dpb seem
> to
> care about pkg.conf and only fetch packages if "the real" PKG_PATH is
> set.
> Is this intended, currently unimplemented or am i doing it wrong?
> 
> Best,
> Nils
> 
> 
> Here are my config files:
> 
> $ cat /etc/mk.conf
> FETCH_PACKAGES=Yes
> SIGNING_PARAMETERS=-s signify -s /etc/signify/my-pkg.sec
> 
> $ cat /etc/pkg.conf
> installpath =
> http://ftp.halifax.rwth-aachen.de/openbsd/5.7/packages/amd64/
> 
> dmesg:
> OpenBSD 5.7-stable (GENERIC) #0: Fri May  8 07:45:53 CEST 2015
>     root@my.domain:/usr/src/sys/arch/amd64/compile/GENERIC
>

After digging the dpb source code a bit, i found this function in
/usr/ports/infrastructure/lib/DPB/Job/Port.pm:

 88 sub tweak_args
 89 {
 90         my ($self, $args, $job, $builder) = @_;
 91         push(@$args,
 92             "FETCH_PACKAGES=No",
 93             "PREPARE_CHECK_ONLY=Yes",
 94             "REPORT_PROBLEM='exit 1'", "BULK=No");
 95         if ($job->{parallel}) {
 96                 push(@$args, "MAKE_JOBS=$job->{parallel}");
 97         }
 98         if ($job->{special}) {
 99                 push(@$args, "USE_MFS=Yes");
100         }
101         if ($builder->{fetch}) {
102                 push(@$args, "NO_CHECKSUM=Yes");
103         }
104 }

Are the fixed settings dependent on each other? Otherwise, i'll try to
come up with a diff.

Best,
Nils

Reply via email to