[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Announcing jigdo-easy 2.1 - please test



On Fri, Apr 12, 2002 at 12:10:34AM +0100, Philip Hands wrote:
> Oh, OK --- I thought it was quite a good idea to merge the 1 and 1_NONUS
> jigdo files.  Was I wrong?

Not at all in my opinion, yes in Anne's opinion (at a guess).
You'll just have to decide for yourself... :)

But again: I thought that beginning with woody there will no longer be
two variants of the first CD?

> I was looking at the format, thinking "Hm, I wonder if that'll work"
> and planning on giving it a try tommorow.

The feature is actually intended as a way to offer a menu for *all*
images of a particular architecture. Later on, adding a DVD image
would hardly lead to a further increase in size.

I've been meaning to add support to jigdo-file for the merging of
several jigdo files into one, but I guess I won't be getting around to
that very soon. I once wrote a script to merge two jigdo files
(attached) - unfortunately, it is unacceptably slow, not sure if it is
any use to you.

BTW, it'd be cool if you (or someone else) could add support for
gzipped jigdo files to debian-cd.

All the best,

  Richard

-- 
  __   _
  |_) /|  Richard Atterer     |  CS student at the Technische  |  GnuPG key:
  | \/¯|  http://atterer.net  |  Universität München, Germany  |  0x888354F7
  ¯ '` ¯
#! /usr/bin/awk -f
#  __   _
#  |_) /|  Copyright (C) 2002 Richard Atterer                      [RA]
#  | \/¯|  <richard@atterer.net>
#  ¯ '` ¯
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License, version 2. See
#  the file COPYING for details.

# Syntax: awk -f jigdo-join *.jigdo

# Out of many .jigdo files, create just one, in which the [Servers]
# and [Parts] sections are merged, and which contains all the
# individual [Image] sections.

BEGIN {
    jigdo = "[Jigdo]\n";
    servers = "[Servers]\n";
    images = "";
    parts = "[Parts]\n";
}

/^[ \t]*(#|$)/ { next; }

/^[ \t]*\[[^]]+\]/ { # [Section]
    gsub(/^[ \t]*\[/, ""); gsub(/\].*/, "");
    section = tolower($0);
    # Start new Image section
    if (section == "image") {
	image = "[Image]\n";
    } else if (image && !index(images, image)) {
	images = images image "\n";
	image = "";
    }
    next;
}

/^.*=/ { # Label=value
    # Remove whitespace from label line
    gsub(/^[ \t]*/, "");
    if (match($0, /[ \t]*=[ \t]*/))
	$0 = substr($0, 1, RSTART-1) "=" substr($0, RSTART + RLENGTH);
    if (substr($0, length($0)) == "=") next; # Ignore label with empty value
}

# Section-specific action on label line
(section == "parts") {
    if ($0 in partsidx) next;
    partsidx[$0];
    parts = parts $0"\n";
    next;
}
(section == "jigdo") {
    if (!index(jigdo, "\n"$0"\n")) jigdo = jigdo $0"\n";
    next;
}
(section == "servers") {
    if (!index(servers, "\n"$0"\n")) servers = servers $0"\n";
    next;
}
(section == "image") {
    if (!index(image, "\n"$0"\n")) image = image $0"\n";
    next;
}

END {
    if (image && !index(images, image)) {
	images = images image "\n";
	image = "";
    }
    print jigdo;
    printf("%s", images);
    print servers;
    print parts;
}

Attachment: pgpGcgv27AxUc.pgp
Description: PGP signature


Reply to: