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

Bug#375680: Ubuntu and Fedora patches reviewing



OK, here it is... Hard to get, I got it only after multiple looped
tries with wget. :/

Cheers,
-- 
((__,-"""-,__))  Aurélien GÉRÔME           .---.
 `--)~   ~(--`   Free Software Developer  /     \
.-'(       )`-.  Unix Sys & Net Admin     \.@-@./
`~~`@)   (@`~~`                           /`\_/`\
    |     |            .''`.             //  _  \\
    |     |           : :'  :           | \     )|_
    (8___8)           `. `'`           /`\_`>  <_/ \
     `---`              `-             \__/'---'\__/
BOFH excuse #9: doppler effect
diff -pruN 1.3.13-4.1/debian/changelog 1.3.13-4.1ubuntu5/debian/changelog
--- 1.3.13-4.1/debian/changelog	2006-06-22 01:31:45.000000000 +0100
+++ 1.3.13-4.1ubuntu5/debian/changelog	2006-06-22 01:31:47.000000000 +0100
@@ -1,3 +1,36 @@
+yaboot (1.3.13-4.1ubuntu5) dapper; urgency=low
+
+  * Sort k2-sata host list (closes: Malone #40692).
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Mon, 22 May 2006 13:40:07 +0100
+
+yaboot (1.3.13-4.1ubuntu4) dapper; urgency=low
+
+  * Fix ofpath's handling of disks on k2-sata controllers (thanks, Eirik
+    Fuller; closes: #294081, Malone #18474).
+  * Attempt to support FireWire-connected disks (closes: Malone #7939).
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sat,  1 Apr 2006 09:54:10 +0100
+
+yaboot (1.3.13-4.1ubuntu3) dapper; urgency=low
+
+  * Drop gcc-3.3 build dependency and build with gcc 4.0.
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri,  3 Feb 2006 12:25:00 +0000
+
+yaboot (1.3.13-4.1ubuntu2) dapper; urgency=low
+
+  * Reapply mising patch for cfg to accept image[<mach>]= stanzas in
+    yaboot.conf.
+
+ -- Ben Collins <bcollins@ubuntu.com>  Fri, 13 Jan 2006 15:33:58 -0500
+
+yaboot (1.3.13-4.1ubuntu1) dapper; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sun,  8 Jan 2006 15:15:30 +0000
+
 yaboot (1.3.13-4.1) unstable; urgency=low
 
   * NMU
@@ -6,18 +39,72 @@ yaboot (1.3.13-4.1) unstable; urgency=lo
 
  -- Don Armstrong <don@debian.org>  Sat, 31 Dec 2005 00:04:32 -0800
 
+yaboot (1.3.13-4ubuntu1) dapper; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Mon, 28 Nov 2005 16:57:37 +0000
+
 yaboot (1.3.13-4) unstable; urgency=low
 
   * Apply upstream patch to ofpath (Closes: #321962)
 
  -- Warren A. Layton <zeevon@debian.org>  Wed, 10 Aug 2005 07:31:37 -0400
 
+yaboot (1.3.13-3ubuntu4) breezy; urgency=low
+
+  * Build-Depends: gcc-3.3.  Closes: #15266
+
+ -- LaMont Jones <lamont@ubuntu.com>  Mon, 12 Sep 2005 10:45:48 -0600
+
+yaboot (1.3.13-3ubuntu3) breezy; urgency=low
+
+  * Fix lib/strstr.c FTBFS with gcc-4.0.
+
+  * ofpath: fix checks of /proc/device-tree:
+
+    According to commit 5f64f73957f6cae3222f97f2599199ee562f7f3f
+    in 2.6.12:
+
+    [PATCH] ppc32/ppc64: cleanup /proc/device-tree
+    [....]
+    - Do not create symlinks for the short name and unit address parts of a
+      node.  These were never really used, bloated the memory footprint of
+      the device-tree with useless struct proc_dir_entry and their matching
+      dentry and inode cache bloat.
+
+   ofpath always assumed the presence of symlinks to verify a valide
+   /proc/device-tree. Change them to verify presence of directories instead.
+
+   Patches and tests kindly done by Ryan Lortie.
+
+ -- Fabio M. Di Nitto <fabbione@ubuntu.com>  Fri, 01 Jul 2005 07:46:39 +0200
+
+yaboot (1.3.13-3ubuntu2) hoary; urgency=low
+
+  * ofpath: Support Pegasos (treat it like NewWorld for now).
+  * ofpath: Add support for IDE devices with spi device_type.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Tue, 15 Mar 2005 20:04:38 +0000
+
+yaboot (1.3.13-3ubuntu1) hoary; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Colin Watson <cjwatson@canonical.com>  Mon, 29 Nov 2004 11:49:03 +0000
+
 yaboot (1.3.13-3) unstable; urgency=low
 
   * Add Amiga support courtesy of Sven Luther (Closes: #267812)
 
  -- Warren A. Layton <zeevon@debian.org>  Thu, 25 Nov 2004 21:19:22 -0500
 
+yaboot (1.3.13-2ubuntu1) hoary; urgency=low
+
+  * Resynchronise with Debian.
+
+ -- Scott James Remnant <scott@canonical.com>  Wed, 27 Oct 2004 15:33:04 +0100
+
 yaboot (1.3.13-2) unstable; urgency=low
 
   * postinst script doesn't redirect to /dev/tty anymore
@@ -27,6 +114,14 @@ yaboot (1.3.13-2) unstable; urgency=low
 
  -- Warren A. Layton <zeevon@debian.org>  Sat, 24 Jul 2004 12:04:13 -0400
 
+yaboot (1.3.13-1ubuntu1) warty; urgency=low
+
+  * Apply Ubuntu branding to the first-stage bootstrap script. If nothing
+    else, this means I can tell the Debian and Ubuntu boot menus apart while
+    testing.
+
+ -- Colin Watson <cjwatson@canonical.com>  Thu,  9 Sep 2004 17:28:25 +0100
+
 yaboot (1.3.13-1) unstable; urgency=low
 
   * New upstream release (all bugfixes below are a result of upstream work)
diff -pruN 1.3.13-4.1/first/ofboot 1.3.13-4.1ubuntu5/first/ofboot
--- 1.3.13-4.1/first/ofboot	2003-10-05 00:58:00.000000000 +0100
+++ 1.3.13-4.1ubuntu5/first/ofboot	2006-06-22 01:31:47.000000000 +0100
@@ -336,7 +336,7 @@ $FGCOLOR to foreground-color
 $BGCOLOR to background-color
 \" \"(0C)\" .printf
 
-\" First Stage GNU/Linux Bootstrap\"(0d 0a)\" .printf
+\" First Stage Ubuntu Bootstrap\"(0d 0a)\" .printf
 \"  \"(0d 0a)\" .printf
 $MENUOPTS
 \"  \"(0d 0a)\" .printf
diff -pruN 1.3.13-4.1/lib/ctype.c 1.3.13-4.1ubuntu5/lib/ctype.c
--- 1.3.13-4.1/lib/ctype.c	2001-09-20 14:15:31.000000000 +0100
+++ 1.3.13-4.1ubuntu5/lib/ctype.c	2006-06-22 01:31:47.000000000 +0100
@@ -44,3 +44,11 @@ int strcasecmp(const char *s1, const cha
     }
 }
 
+int strncasecmp(const char *cs,const char *ct,size_t n)
+{
+	signed char __res = 0;
+	while (n--)
+		if ((__res = tolower(*cs) - tolower(*ct++)) != 0 || !*cs++)
+			break;
+	return __res;
+}
diff -pruN 1.3.13-4.1/second/cfg.c 1.3.13-4.1ubuntu5/second/cfg.c
--- 1.3.13-4.1/second/cfg.c	2001-12-01 09:58:10.000000000 +0000
+++ 1.3.13-4.1ubuntu5/second/cfg.c	2006-06-22 01:31:47.000000000 +0100
@@ -28,6 +28,7 @@
 
 /* Imported functions */
 extern int strcasecmp(const char *s1, const char *s2);
+extern int strncasecmp(const char *cs, const char *ct, size_t n);
 
 typedef enum {
      cft_strg, cft_flag, cft_end
@@ -101,10 +102,12 @@ static char *currp = NULL;
 static char *endp = NULL;
 static char *file_name = NULL;
 static CONFIG *curr_table = cf_options;
+static int ignore_entry;
 static jmp_buf env;
 
 static struct IMAGES {
      CONFIG table[sizeof (cf_image) / sizeof (cf_image[0])];
+     int obsolete;
      struct IMAGES *next;
 } *images = NULL;
 
@@ -277,6 +280,16 @@ static int cfg_next (char **item, char *
      return 1;
 }
 
+static char *cfg_get_strg_i (CONFIG * table, char *item)
+{
+     CONFIG *walk;
+
+     for (walk = table; walk->type != cft_end; walk++)
+          if (walk->name && !strcasecmp (walk->name, item))
+               return walk->data;
+     return 0;
+}
+
 #if 0
 // The one and only call to this procedure is commented out
 // below, so we don't need this unless we decide to use it again.
@@ -287,13 +300,85 @@ static void cfg_return (char *item, char
 }
 #endif
 
+static int match_arch(const char *name)
+{
+	static prom_handle root;
+	static char model[256], *p;
+
+	if (!root) {
+		if (!(root = prom_finddevice("/")))
+			return 0;
+	}
+
+	if (!model[0]) {
+		if (!prom_getprop(root, "compatible", model, sizeof(model)))
+			return 0;
+	}
+
+	for (p = model; *p; p += strlen(p) + 1) {
+		if (!strcasecmp(p, name))
+			return 1;
+	}
+
+	return 0;
+}
+
+static void check_for_obsolete(const char *label)
+{
+	struct IMAGES *p;
+	char *cur_label;
+
+	/* Make sure our current entry isn't obsolete (ignored) */
+	for (p = images; p; p = p->next) {
+		if (curr_table == p->table && p->obsolete)
+			return;
+	}
+
+	for (p = images; p; p = p->next) {
+		if (curr_table == p->table)
+			continue;
+
+		cur_label = cfg_get_strg_i (p->table, "label");
+		if (!cur_label)
+			cur_label = cfg_get_strg_i (p->table, "image");
+
+		if (!cur_label)
+			continue;
+
+		if (!strcasecmp(cur_label, label))
+			p->obsolete = 1;
+	}
+}
+
 static int cfg_set (char *item, char *value)
 {
      CONFIG *walk;
 
-     if (!strcasecmp (item, "image")) {
+     if (!strncasecmp (item, "image", 5)) {
 	  struct IMAGES **p = &images;
+	  int ignore = 0;
+
+	  if (item[5] == '[' && item[strlen(item) - 1] == ']') {
+		char *s, *q = item;
+
+		/* Get rid of braces */
+		item[strlen(item) - 1] = 0;
+		item[5] = 0;
+
+		for (s = item + 6; q; s = q) {
+			q = strchr(s, '|');
+			if (q)
+				*q++ = 0;
+
+			if (match_arch(s))
+				goto cfg_set_cont;
+                }
+		/* This just creates an unused table. It will get ignored */
+		ignore = 1;
+	  } else if (item[5])
+                goto cfg_set_redo;
 
+cfg_set_cont:
 	  while (*p)
 	       p = &((*p)->next);
 	  *p = (struct IMAGES *)malloc (sizeof (struct IMAGES));
@@ -302,9 +387,12 @@ static int cfg_set (char *item, char *va
 	       return -1;
 	  }
 	  (*p)->next = 0;
+	  (*p)->obsolete = ignore;
 	  curr_table = ((*p)->table);
 	  memcpy (curr_table, cf_image, sizeof (cf_image));
      }
+
+cfg_set_redo:
      for (walk = curr_table; walk->type != cft_end; walk++) {
 	  if (walk->name && !strcasecmp (walk->name, item)) {
 	       if (value && walk->type != cft_strg)
@@ -312,6 +400,8 @@ static int cfg_set (char *item, char *va
 	       else if (!value && walk->type == cft_strg)
 		    cfg_warn ("Value expected for '%s'", walk->name);
 	       else {
+		    if (!strcasecmp (item, "label"))
+			 check_for_obsolete(value);
 		    if (walk->data)
 			 cfg_warn ("Duplicate entry '%s'", walk->name);
 		    if (walk->type == cft_flag)
@@ -322,9 +412,12 @@ static int cfg_set (char *item, char *va
 	       break;
 	  }
      }
+
      if (walk->type != cft_end)
 	  return 1;
-//    cfg_return (item, value);
+
+     //cfg_return (item, value);
+
      return 0;
 }
 
@@ -343,23 +436,13 @@ int cfg_parse (char *cfg_file, char *buf
 	       return 0;
 	  if (!cfg_set (item, value)) {
 #if DEBUG
-	       prom_printf("Can't set item %s to value %s\n", item, value);
-#endif	    
+              prom_printf("Can't set item %s to value %s\n", item, value);
+#endif
 	  }
 	  free (item);
      }
 }
 
-static char *cfg_get_strg_i (CONFIG * table, char *item)
-{
-     CONFIG *walk;
-
-     for (walk = table; walk->type != cft_end; walk++)
-	  if (walk->name && !strcasecmp (walk->name, item))
-	       return walk->data;
-     return 0;
-}
-
 char *cfg_get_strg (char *image, char *item)
 {
      struct IMAGES *p;
@@ -369,6 +452,9 @@ char *cfg_get_strg (char *image, char *i
      if (!image)
 	  return cfg_get_strg_i (cf_options, item);
      for (p = images; p; p = p->next) {
+	  if (p->obsolete)
+		  continue;
+
 	  label = cfg_get_strg_i (p->table, "label");
 	  if (!label) {
 	       label = cfg_get_strg_i (p->table, "image");
@@ -417,6 +503,9 @@ void cfg_print_images (void)
 
      printl_count = 0;
      for (p = images; p; p = p->next) {
+	  if (p->obsolete)
+		  continue;
+
 	  label = cfg_get_strg_i (p->table, "label");
 	  if (!label) {
 	       label = cfg_get_strg_i (p->table, "image");
@@ -439,15 +528,21 @@ void cfg_print_images (void)
 char *cfg_get_default (void)
 {
      char *label;
+     struct IMAGES *p;
      char *ret = cfg_get_strg_i (cf_options, "default");
 
      if (ret)
 	  return ret;
      if (!images)
 	  return 0;
-     ret = cfg_get_strg_i (images->table, "label");
+
+     for (p = images; p && p->obsolete; p = p->next);
+     if (!p)
+	     return 0;
+
+     ret = cfg_get_strg_i (p->table, "label");
      if (!ret) {
-	  ret = cfg_get_strg_i (images->table, "image");
+	  ret = cfg_get_strg_i (p->table, "image");
 	  label = strrchr (ret, '/');
 	  if (label)
 	       ret = label + 1;
diff -pruN 1.3.13-4.1/ybin/ofpath 1.3.13-4.1ubuntu5/ybin/ofpath
--- 1.3.13-4.1/ybin/ofpath	2006-06-22 01:31:45.000000000 +0100
+++ 1.3.13-4.1ubuntu5/ybin/ofpath	2006-06-22 01:31:47.000000000 +0100
@@ -299,9 +299,15 @@ scsi_ofpath()
 	    ;;
 	ata_k2|sata_svw)
 	    HOST_LIST="$(for i in `find /proc/device-tree -name compatible` ; do
-			lgrep "$i" "k2-s-ata" ; done)"
+			lgrep "$i" "k2-sata" ; done | sort)"
 	    DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)"
-	    echo "${DEVICE_PATH##*device-tree}/k2-sata@$DEVICE_ID/disk@0:$PARTITION"
+	    echo "${DEVICE_PATH##*device-tree}/disk@0:$PARTITION"
+	    ;;
+	sbp2)
+	    HOST_LIST="$(for i in `find /proc/device-tree -name name` ; do
+			lgrep "$i" "sbp-2" ; done)"
+	    DEVICE_PATH="$(printhost $SCSI_HOSTNUMBER $HOST_LIST)"
+	    echo "${DEVICE_PATH##*device-tree}/disk@0:$PARTITION"
 	    ;;
 	*)
 	    echo 1>&2 "$PRG: Driver: $SCSI_DRIVER is not supported"
@@ -396,6 +402,10 @@ ide_ofpath()
 		local MASTER="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 0))"
 		local SLAVE="/@$(($(cat /proc/ide/${IDEBUS}/channel) * 2 + 1))"
 		;;
+	    spi)
+		local MASTER="/disk@$(cat /proc/ide/${IDEBUS}/channel),0"
+		local SLAVE="/disk@$(cat /proc/ide/${IDEBUS}/channel),1"
+		;;
 	    *)
 		echo 1>&2 "$PRG: Unsupported IDE device type: \"$(cat /proc/device-tree${DEVSPEC}/device_type 2> /dev/null)\""
 		return 1
@@ -659,7 +669,7 @@ chrp()
 {
     case "$DEVNODE" in
 	sd*)
-	    if ls -l /proc/device-tree | grep -q ^lr ; then
+	    if ls -l /proc/device-tree | grep -q ^d ; then
 		true
 	    else
 		echo 1>&2 "$PRG: /proc/device-tree is broken."
@@ -906,6 +916,8 @@ elif (cat /proc/cpuinfo 2>/dev/null | gr
     SUBARCH=OldWorld
 elif (cat /proc/cpuinfo 2> /dev/null | grep ^machine | grep -q 'CHRP IBM') ; then
     SUBARCH=CHRP
+elif (cat /proc/cpuinfo 2>/dev/null | grep ^machine | grep -q 'CHRP Pegasos') ; then
+    SUBARCH=Pegasos
 else
     echo 1>&2 "$PRG: This machine is not yet supported"
     exit 1
@@ -928,7 +940,8 @@ PARTITION="${DEVICE##*[a-z]}"
 
 ## use appropriate search for right sub arch.
 case "$SUBARCH" in
-    NewWorld)
+    # Pegasos OF seems to be NewWorld-ish enough to cope with this.
+    NewWorld|Pegasos)
 	newworld || exit 1
 	;;
     OldWorld)

Attachment: signature.asc
Description: Digital signature


Reply to: