On Mon, Jun 12, 2000 at 03:09:18PM +0100, Steve McIntyre wrote:
>On Mon, Jun 12, 2000 at 12:59:19PM +0100, Raphael Hertzog wrote:
>>With this system, we mustn't forget about updating this file ...
>
>Yes. In fact, I have a (trivial) script that will generate this file,
>which I guess should be included:
>
>=========================================================================
>#!/bin/sh
># $1 is the location of the Debian non-US area
># $2 is the release name
>
>cd $1/dists/$2
>find . | grep binary-.*/.*deb | sed 's/.*\///g;s/_.*//g' | sort | uniq
>=========================================================================

I've added this into the Makefile now, so we don't need to worry about
keeping up.

>>> +# Add non-US stuff to CD#1 first if we have been asked to...
>>> +# "complete" means also add non-US sources that don't have binary 
>>packages...
>>> +if($forcenonusoncd1) {
>>> +    foreach $p (@nonuslist) {
>>> +        if($complete) {
>>> +       $src = $p;
>>> +        } else {
>>> +       $src = $bin2src{$p};
>>> +        }
>>> +        if (not exists $included{$src}) {
>>> +       msg(0, "ERROR: Non-US source `$src' does not exist ... 
>>(ignored)\n");
>>> +       next;
>>> +        }
>>> +        next if $excluded{$src};
>>> +        next if $included{$src};
>>> +        add_src ($src);
>>> +    }
>>> +}
>>
>>Here you have misunderstood how it works. In @nonuslist you have a
>>list of ALL the non-US source packages. So it's an error to write
>>something like $src = $bin2src{$p} since $p is not the name of a binary
>>package !  %bin2src has the names of binary packages as keys and return the
>>name of the corresponding source package as value.
>>
>>So if $complete is not set you must only include the source packages that
>>have some of their binary packages included on the binary CD set :
>>This may (check it!) give the good list of source package to include :
>>map { $bin2src{$_} } (grep { grep (/^$bin2src{$_}$/, @nonuslist) } @list);
>
>Ok, will do.

That didn't seem to do the job for me, but I've got something else
instead that does work, and works quite quickly.

>>> open(AVAIL, "$apt cache dumpavail |") || die "Can't fork : $!\n";
>>
>>This will be called one time pro CD. We may be able to optimise this ...
>>put a non-US.list in the temp directory and use that if it exists ...
>
>OK, I see.

I looked at this again - it may look like we're wasting time/effort,
but this actually runs very quickly, significantly <1 second per
run. I don't see much gain to be made here.

>>Ok, that's it, otherwise it should be ok I guess ... however i've not 
>>checked
>>if you updated everything that had to be updated with the major changes
>>you did ... don't commit until I can review the corrected version
>>you'll provide me.
>
>OK, you should get an update this evening.

A couple of days late, but I think I've covered all your changes. See
separate mail for the new diff.

-- 
Steve McIntyre, Cambridge, UK.                   [EMAIL PROTECTED]
<a href=http://www.chiark.greenend.org.uk/~stevem/>My home page</a>
"Can't keep my eyes from the circling sky,                 +------------------
"Tongue-tied & twisted, Just an earth-bound misfit, I..."  |Finger for PGP key


--  
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to