Hello,

On penktadienis 21 Rugpjūtis 2009 14:59:06 Bernhard R. Link wrote:

> Reprepro from CVS (and thus the next release) should now be able to support
> this via -A 'yourarch|onlyall'
> (with yourarch being the architecture of the arch-specific .debs and
> 'onlyall' the name of the pseudo-architecture for only Architecture all
> packages (whatever name you choose, only 'all', 'source' and 'none'
> impossible)).

Thank you. This is a nice and useful addition to -A.

> As I needed a command to level the architecture all packages between
> architectures anyway (to support the case of people addings new
> architectures), I've added a "flood" command that will copy architecture
> all packages between the architectures if at the target architecture
> there is a binary from the same source or no binary with the same source
> as the old architecture all package.

Nice. That's exactly I wished for. Btw, is flood fast, isn't it? And a few 
more requests are below.

> I've also added an "Options: limit_arch_all" that can be added to
> conf/incoming so that processincoming will only put architecture all
> packages in the architecture where accompanying architecture specific
> packages are put.

Nice. I won't need to do very custom processincoming anymore.

I guess my new processincoming .changes script will need to do the following:

------------
ls -1 "$INCOMING/"*.changes 2>/dev/null | while read f; do
  distribution=`grep '^Distribution:' "$f" | sed 's/^Distribution:
[[:space:]]*//'`

  # Make the latest arch:all packages apt-get'able
  reprepro -A archall include $distribution $f

  # processincoming with limit_arch_all
  reprepro processincoming ruleset $f

  # Make sure arch:all packages are in sync
  reprepro -A archall flood $distribution

done
------------

This is a LOT easier than my previous big processincoming script with dynamic 
pull hacks etc. However, I'm wondering if I could do the first and the last 
command from Log --changes script using distribution=$2 (like below)? Is this 
thing safe to do when processincoming is active and a bunch of changes files 
are being processed? --waitforlock maybe or I should "schedule" them in the 
temporary file?

------------
ARCHALL="archall"
distribution="$2"
source="$3"

# Make the latest arch:all packages apt-get'able
reprepro flood $distribution $ARCHALL

# Make sure arch:all packages are in sync if this was binary-only upload
reprepro -A archall flood $distribution
------------

I'm wondering if the first command will work since the dummy $ARCHALL 
architecture may not have the source yet. Therefore, could you make 'flood' to 
accept another optional parameter 'source package' which would limit queries 
to that source package and install its arch:all to $ARCHALL even if the source 
does not exist there?

> I think that should mostly make possible what you do with
> builtin methods (The only things it does not support is when older
> architecture specific packages are uploaded after the newer architecture
> inspecific packages are only uploaded. And it is easily confused if the
> first upload is from an architecture only having no architecture
> specific binaries), except the disadvantage of having to call flood
> after each processincoming.
>
> Thus I'm tagging this bug pending and plan to close it with the upload
> of the version including this changes. (implementing the embargoall
> feature stays in my todolist, but as this will be supposed to also alter
> the other commands, will not happen soon).

Thank you for working on this. embargoall was not a target of this wish, just 
a possible tool.

-- 
Modestas Vainius <modes...@vainius.eu>

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to