chiark / gitweb /
nailing-cargo: Pass $org_subdir to read_manifest
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 25 Jul 2020 15:57:52 +0000 (16:57 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 25 Jul 2020 16:07:25 +0000 (17:07 +0100)
Currently this is just $subdir.  But we are going to recursively chase
down workspaces and path dependencies, and we want to know where they
came from so we can check the paths for sanity.

No functional change yet

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
.

nailing-cargo

index db1d49be1f5b38fea0483e7fd6c72dbc05aca90c..d18e3ade0c67bf72e72a4f2d991a79d4aa8979f9 100755 (executable)
@@ -290,8 +290,8 @@ sub consider_oot () {
 our %manifests;
 our %packagemap;
 
-sub read_manifest ($$) {
-  my ($subdir, $why) = @_;
+sub read_manifest ($$$) {
+  my ($subdir, $org_subdir, $why) = @_;
   my $manifest = "../$subdir/Cargo.toml";
   print STDERR "$self: reading $manifest...\n" if $verbose>=4;
   if (defined $manifests{$manifest}) {
@@ -318,7 +318,7 @@ sub readorigs () {
   foreach my $p (keys %{ $nail->{packages} }) {
     my $v = $nail->{packages}{$p};
     my $subdir = ref($v) ? $v->{subdir} : $v;
-    my $gotpackage = read_manifest($subdir, "from [packages]") // '<nothing!>';
+    my $gotpackage = read_manifest($subdir, $subdir, "from [packages]") // '<nothing!>';
     if ($gotpackage ne $p) {
       print STDERR
  "$self: warning: honouring Cargo.nail packages.$subdir=$p even though $subdir contains package $gotpackage!\n";
@@ -327,7 +327,7 @@ sub readorigs () {
     $packagemap{$p} = $subdir;
   }
   foreach my $subdir (@{ $nail->{subdirs} }) {
-    my $gotpackage = read_manifest($subdir, "from [subdirs]");
+    my $gotpackage = read_manifest($subdir, $subdir, "from [subdirs]");
     if (!defined $gotpackage) {
       print STDERR
  "$self: warning: ignoring subdir $subdir which has no (suitable) Cargo.toml\n";