Subject: pkg/32067: Verify checksum of distfiles directly after download
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <krille@users.sf.net>
List: pkgsrc-bugs
Date: 11/13/2005 22:21:00
>Number:         32067
>Category:       pkg
>Synopsis:       Verify checksum of distfiles directly after download
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 13 22:21:00 +0000 2005
>Originator:     Christian Hattemer
>Release:        2.0
>Organization:
>Environment:
NetBSD webster 2.0_STABLE NetBSD 2.0_STABLE (LAHKSA) #0: Tue Apr  5 23:53:20 CEST 2005
>Description:
When updating all the pkgs that got outdated since the last update I
usually first download all needed distfiles with pkgdepgraph -F and start
the build then.

Sometimes it happens that for whatever reason the downloaded file doesn't
match the checksum, which makes the build stop.

The patch below makes pkgdepgraph use the checksum target instead of just
fetch. This makes sure that all files have been downloaded correctly when
pkgdepgraph completes.

It would be nice to have the same functionality when using "make fetch-list"
in a pkg directory. However it seems that the different approach used there
won't make that as trivial as in pkgdepgraph.

>How-To-Repeat:
See above.
>Fix:
--- /usr/pkg/bin/pkgdepgraph 2005-10-03 16:56:48.000000000 +0200
+++ pkgdepgraph 2005-11-10 18:47:54.000000000 +0100
@@ -455,7 +455,7 @@
 ## translate "older" alternate output modes to the new generic version
 ##
 if ($fetch) {
-    $target = "fetch";
+    $target = "checksum";
 }
 elsif ($rebuild) {
     $exists = 1;