Hello community,

here is the log from the commit of package syslinux for openSUSE:Factory
checked in at Wed Apr 27 15:16:26 CEST 2011.



--------
--- syslinux/syslinux.changes   2010-04-27 18:00:02.000000000 +0200
+++ /mounts/work_src_done/STABLE/syslinux/syslinux.changes      2011-04-20 
11:28:59.000000000 +0200
@@ -1,0 +2,179 @@
+Wed Apr 20 11:27:23 CEST 2011 - [email protected]
+
+- adrian: mboot: replicate BOOTIF option for all modules
+
+-------------------------------------------------------------------
+Tue Apr 19 15:29:10 CEST 2011 - [email protected]
+
+- handle case where a separate initrd config line is used instead of an
+  initrd= kernel option
+
+-------------------------------------------------------------------
+Tue Apr 19 10:48:40 CEST 2011 - [email protected]
+
+- update to version 4.04
+  * PXELINUX: Fix handling of unqualified DNS names.
+  * PXELINUX: Fix timer bug when PXELINUX might be unloaded
+    (Gene Cumm).
+  * core/writedec.inc: Fix duplicate declaration and overflow
+    (Gene Cumm).
+  * GCC 4.5 fixes.
+  * sample directory: Fix Makefile include (Gene Cumm).
+  * ver.com: New universal DOS/COMBOOT application to display
+    version information (includes DRMK) (Gene Cumm).
+  * rosh.c32: updated; Using getopt() for internal commands to aid
+    parsing options; Fix bugs in ls; add warm reboot and echo
+    (Gene Cumm).
+  * com32: fix a file descriptor leak.
+  * gfxboot.c32: handle TEXT..ENDTEXT; error out on no LABELs
+    found (Sebastian Herbszt).
+  * Fix booting on non-partitioned devices.
+  * MBR, isohybrid: Workaround for a BIOS issue on Acer
+    Travelmate and possibly other machines.
+  * COM32: Adding ACPI parsing libary
+  * HDT: Release 0.4.1 to support ACPI parsing, 
+    improved mutli-core/cpu reporting 
+  * LUA: Updating to 5.1.4-2
+  * SYSLINUX: core/diskstart.inc: Reset DS after checksum in case
+    it isn't 0 (Gene Cumm).
+  * win64: Script update for additional mingw compiler names
+    (Gene Cumm).
+  * diag: New directory for diagnostic-related tools.  Add a
+    handoff MBR/VBR and geometry display images (Gene Cumm).
+  * MEMDISK: use "mem=" parameter to mark available memory above
+    this point as reserved (core already does alignment) (Gene Cumm).
+  * MEMDISK: Additional disk probe checks and debug output
+    (Shao Miller, Gene Cumm).
+  * gpxe: add gpxelinuxk.0, based off of undionly.kpxe + new
+    script (Gene Cumm).
+  * isohybrid: install the isohdpfx*.bin/isohdppx*.bin files to
+    make isohybrid images in one step with GNU xorriso.
+  * PXELINUX: disable a hack that would make localboot work on
+    some machines, but break just about as many.  Some machines
+    which worked with "localboot 0" in previous versions may
+    need "localboot -1" in this one.  If you have a machine
+    which requires "localboot -1", a copy of the dmidecode
+    or sysdump output would be appreciated.
+  * Include a set of diagnostics by Gene Cumm.
+  * Fixes for gcc 4.6 and binutils 2.21.51.
+  * chain.c32: Allow "uuid" as a synonym to "guid".
+  * Handle directory names starting with .. for vfat and
+    iso9660.
+  * New MENU HIDDENKEY command to provide a one-keystroke way to
+    activate a boot option from a hidden menu intro screen.
+
+
+-------------------------------------------------------------------
+Mon Apr 18 17:35:01 CEST 2011 - [email protected]
+
+- update to version 4.03
+  * Major code base changes; all filesystem rewritten in C.
+    This work was done primarily by Liu Aleaxander (Yuanhan Liu).
+  * Better support for booting from MBRs which don't pass
+    handover information.
+  * EXTLINUX: Try to be smarter about finding the partition
+    offset.
+  * chain.c32: support chainloading Dell Real Mode Kernel (Gene
+    Cumm).
+  * chain.c32: fix booting in CHS mode.
+  * Fix the -s option to the syslinux/extlinux installer (Arwin
+    Vosselman).
+  * isohybrid: fix padding of large images (PJ Pandit).
+  * SYSLINUX: correctly handle the case where the -d option is
+    specified with a non-absolute path, i.e. "syslinux -d
+    syslinux" instead of "syslinux -d /syslinux".
+  * ISOLINUX: recognize the directory names /boot/syslinux and
+    /syslinux, and the filename syslinux.cfg in addition to the
+    isolinux-specific names.  Thus, "syslinux.cfg" is now a
+    generic name, whereas "isolinux.cfg" or "extlinux.conf" is
+    specific to different derivative.
+  * chain.c32: support setting alternate config filename for
+    stage2 of GRUB Legacy (Gert Hulselmans).
+  * whichsys.c32: execute specific command, based on Syslinux
+    bootloader variant (Gert Hulselmans).
+  * lua.c32: a lot of new bindings added to the "syslinux"
+    namespace: VESA, PCI, DMI, kernel loading (Marcel Ritter).
+  * btrfs: print a comprehensive error message if compressed or
+    encrypted files are encountered (neither is currently
+    supported.)
+  * SYSLINUX: mtools installer: honor TMPDIR, error out on disk
+    full.
+  * Handle fallbacks from EDD to CHS, to deal with systems which
+    announce EDD support but don't actually have it.
+  * SYSLINUX: the mtools, DOS and win32 installers now use the new
+    command line options.
+  * PXELINUX: fix the use of IP addresses in TFTP :: or tftp://
+    host syntax.
+  * SYSLINUX: experimental Win64 installer (syslinux64.exe).
+  * ISOLINUX: fix initialization on systems which don't zero
+    low memory.
+  * SYSLINUX/EXTLINUX: fix handing of disk read retries in
+    EDD mode.
+  * ISOLINUX: change the initialization sequence to avoid
+    problems with certain (old) BIOSes.  Special thanks to
+    Helmut Hullen for invaluable debugging support.
+  * ifplop.c32: new module which detects if the PLoP Boot Loader
+    already has booted a CDROM or USB drive (Gert Hulselmans).
+  * Correct a severe memory overwrite bug, triggered primarily
+    when selecting a very long command line in the menu system.
+  * lua.c32: Lua script interpreter, currently experimental
+    (Alexey Zaytsev, Marcel Ritter, Geert Stappers).
+  * PXELINUX: new option IPAPPEND 4 to append the system UUID to
+    the kernel command line.
+  * PXELINUX: display BOOTIF and SYSUUID at startup time, and
+    when Ctrl-N is pressed on the command line.
+  * EXTLINUX: btrfs and ext4 support.  btrfs support was done by
+    Alek Du of Intel.
+  * EXTLINUX is no longer a separate derivative; extlinux and
+    syslinux both install the same loader (ldlinux.sys); for the
+    Linux-based installers the extlinux binary is used for a
+    mounted filesystem; the syslinux binary for an unmounted
+    filesystem.
+  * When loading a new configuration file with the CONFIG
+    command, one can now also specify a new current directory
+    with an APPEND statement.
+  * Full ADV support for Syslinux, to boot-once and MENU SAVE
+    works.
+  * Full support of GPT-partitioned disks, including disks
+    and/or parititions larger than 2 TiB (if supported by BIOS.)
+  * The GPT handover protocol adjusted to the current T13
+    committee draft; see doc/gpt.txt.
+  * HDT: code cleanup, small bugfixes
+  * The "linux" syslinux installer (syslinux-nomtools) now has a
+    command-line syntax closer to the extlinux installer.  The
+    mtools, dos and win32 installers will get this new syntax
+    eventually, but it is not implemented yet.
+  * chain.c32: support booting GPT partitions by index, GUID, label.
+  * chain.c32: support booting the Syslinux partition with "fs".
+  * chain.c32: implement gpt.txt hand-over protocol.
+  * chain.c32: support for chainloading Grub stage 2.
+  * PXELINUX: TFTP URL syntax (tftp://) supported even when not
+    running gPXE/gpxelinux.
+  * New ls.c32 module to display the contents of the disk from
+    the command line, and pwd.c32 to display the current
+    directory.
+  * rosh.c32 (read only shell) updated and hopefully usable.
+  * PXELINUX: Support "localboot -1", just like the other
+    derivatives.
+  * gfxboot.com removed in favor of gfxboot.c32.
+  * New MENU HELP statement to display fullscreen help text as a
+    result of a menu selection.
+  * memdiskfind utility that can be used with the phram driver
+    in the Linux kernel to mount a memdisk.
+  * ifcpu.c32: Adding usage when no parameters are given, 
+    adding PAE support.
+  * ifcpu.c32, ifcpu64.c32: handle more than one argument per
+    target.
+  * isohybrid: C version which does not require Perl.
+  * New command MENU IMMEDIATE to permit hotkeys to activate
+    immediately without needing Enter.
+  * mdiskchk.com supports a --no-sequential (or -n) option to
+    suppress the classic all-drive-probing heuristic.  Useful
+    on BIOSes who crash/hang when certain drive numbers are
+    probed.
+  * ElTorito.Sys DOS driver now scans drive numbers upwards
+    instead of downwards, in order to avoid a fairly common
+    bug on some BIOSes where probing drive 0xFF causes a
+    failure.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  syslinux-3.86-com32.diff
  syslinux-3.86-compat.diff
  syslinux-3.86-gfxboot.diff
  syslinux-3.86-suse.diff
  syslinux-3.86.tar.bz2

New:
----
  syslinux-4.04-cwd.diff
  syslinux-4.04-iso9660.diff
  syslinux-4.04-mboot_bootif.diff
  syslinux-4.04-noinitrd.diff
  syslinux-4.04.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ syslinux.spec ++++++
--- /var/tmp/diff_new_pack.su9ocp/_old  2011-04-27 15:15:25.000000000 +0200
+++ /var/tmp/diff_new_pack.su9ocp/_new  2011-04-27 15:15:25.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package syslinux (Version 3.86)
+# spec file for package syslinux
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,22 +19,22 @@
 
 Name:           syslinux
 ExclusiveArch:  %ix86 x86_64
-BuildRequires:  libpng-devel nasm netpbm python
+BuildRequires:  libpng-devel nasm netpbm python xz
 Url:            http://syslinux.zytor.com/
 License:        GPLv2+
 Group:          System/Boot
 Requires:       mtools
 AutoReqProv:    on
 Summary:        Boot Loader for Linux
-Version:        3.86
-Release:        4
+Version:        4.04
+Release:        1
 Source:         %{name}-%{version}.tar.bz2
 Source1:        isolinux-config
 Source2:        README.gfxboot
-Patch0:         %{name}-%{version}-gfxboot.diff
-Patch1:         %{name}-%{version}-suse.diff
-Patch2:         %{name}-%{version}-compat.diff
-Patch3:         %{name}-%{version}-com32.diff
+Patch0:         %{name}-%{version}-iso9660.diff
+Patch1:         %{name}-%{version}-cwd.diff
+Patch2:         %{name}-%{version}-noinitrd.diff
+Patch3:         %{name}-%{version}-mboot_bootif.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -59,8 +59,6 @@
 %build
 cp %{SOURCE2} .
 export CFLAGS="$RPM_OPT_FLAGS"
-chmod +x core/add_crc
-rm -f modules/gfxboot.com
 make spotless
 make
 

++++++ isolinux-config ++++++
--- /var/tmp/diff_new_pack.su9ocp/_old  2011-04-27 15:15:25.000000000 +0200
+++ /var/tmp/diff_new_pack.su9ocp/_new  2011-04-27 15:15:25.000000000 +0200
@@ -26,14 +26,21 @@
 sysread F, $file_buf, -s($file);
 close F;
 
-die "$file: is not isolinux\n" unless (length $file_buf > (8 << 10)) && 
($file_buf =~ m#(/boot(/[\x20-\xff]*)\x00*)\x00isolinux.cfg\x00#s);
+if((length $file_buf > (8 << 10)) && ($file_buf =~ 
m#(/boot(/[\x20-\xff]*)\x00*)\x00isolinux.cfg\x00#s)) {
+  $format = 1;
+}
+elsif((length $file_buf > (8 << 10)) && ($file_buf =~ 
m#(/boot(/[\x20-\xff]*)\x00*)\x00/boot/syslinux\x00#s)) {
+  $format = 2;
+} 
+
+die "$file: is not isolinux\n" unless $format;
 
 $start = length $`;
 $base_buf = $1;
 $old_base = $2;
 
 if(defined $opt_base) {
-  ($base = $opt_base) =~ s#^/*##;;
+  ($base = $opt_base) =~ s#^/*##;
 
   $base = "/boot/$base";
   die "$opt_base: file name too long\n" if length($base) > length($base_buf);

++++++ syslinux-4.04-cwd.diff ++++++
diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c
index 9a39e79..35d180a 100644
--- a/com32/gfxboot/gfxboot.c
+++ b/com32/gfxboot/gfxboot.c
@@ -102,6 +102,8 @@ typedef struct __attribute__ ((packed)) {
                                //    0: GFX_CB_MENU_INIT accepts 32 bit 
addresses
                                //    1: knows about xmem_start, xmem_end
   uint16_t reserved_1;         // 62:
+  uint32_t gfxboot_cwd;                // 64: if set, points to current 
gfxboot working directory relative
+                               //     to syslinux working directory
 } gfx_config_t;
 
 
@@ -181,6 +183,7 @@ int main(int argc, char **argv)
 {
   int menu_index;
   const union syslinux_derivative_info *sdi;
+  char working_dir[256];
 
   openconsole(&dev_stdcon_r, &dev_stdcon_w);
 
@@ -224,6 +227,10 @@ int main(int argc, char **argv)
     return 0;
   }
 
+  if(getcwd(working_dir, sizeof working_dir)) {
+    gfx_config.gfxboot_cwd = (uint32_t) working_dir;
+  }
+
   if(gfx_init(argv[1])) {
     printf("Error setting up gfxboot\n");
     if(argc > 2) show_message(argv[2]);
@@ -806,6 +813,12 @@ void boot(int index)
   int i, label_len;
   unsigned ipapp;
   const struct syslinux_ipappend_strings *ipappend;
+  char *gfxboot_cwd = (char *) gfx_config.gfxboot_cwd;
+
+  if(gfxboot_cwd) {
+    chdir(gfxboot_cwd);
+    gfx_config.gfxboot_cwd = 0;
+  }
 
   for(menu_ptr = menu; menu_ptr; menu_ptr = menu_ptr->next, index--) {
     if(!index) break;
++++++ syslinux-4.04-iso9660.diff ++++++
diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c
index 3cd3ac4..9bbc299 100644
--- a/core/fs/iso9660/iso9660.c
+++ b/core/fs/iso9660/iso9660.c
@@ -228,14 +228,25 @@ static int iso_readdir(struct file *file, struct dirent 
*dirent)
 /* Load the config file, return 1 if failed, or 0 */
 static int iso_load_config(void)
 {
-    static const char *search_directories[] = {
-       "/boot/isolinux", 
-       "/isolinux",
-       "/boot/syslinux", 
-       "/syslinux", 
-       "/",
-       NULL
-    };
+   /*
+    * Put search_directories[] to different section so it
+    * won't be compressed (and we can patch it later).
+    */
+    __asm__(
+      ".section .data16\n"
+      ".s1: .ascii \"/boot\"\n"
+      ".s2: .string \"/isolinux\"\n"
+      ".fill 64, 1, 0\n"
+      ".s3: .ascii \"/boot\"\n"
+      ".s4: .string \"/syslinux\"\n"
+      ".s5: .string \"/\"\n"
+      ".align 4\n"
+      "search_directories:\n"
+      ".long .s1, .s2, .s3, .s4, .s5, 0\n"
+      ".text\n"
+    );
+    extern const char *search_directories[];
+
     static const char *filenames[] = {
        "isolinux.cfg",
        "syslinux.cfg",
++++++ syslinux-4.04-mboot_bootif.diff ++++++
diff --git a/com32/mboot/mboot.c b/com32/mboot/mboot.c
index 35450e0..a124a21 100644
--- a/com32/mboot/mboot.c
+++ b/com32/mboot/mboot.c
@@ -97,9 +97,14 @@ static int get_modules(char **argv, struct module_data **mdp)
     int arglen;
     const char module_separator[] = "---";
 
+    char *bootif = 0;
     for (argp = argv; *argp; argp++) {
        if (!strcmp(*argp, module_separator))
            module_count++;
+        /* BOOTIF= gets only appended for last group by syslinux, but it may 
be needed also
+           for other modules. So let's copy it. Esp. needed for XEN booting, 
Dom0 kernel needs it */
+        if (!strncmp(*argp, "BOOTIF=", 7))
+            bootif = *argp;
     }
 
     *mdp = mp = malloc(module_count * sizeof(struct module_data));
@@ -133,11 +138,19 @@ static int get_modules(char **argv, struct module_data 
**mdp)
            mp->cmdline = strdup("");
        } else {
            char *p;
+            if (bootif) {
+              arglen += strlen(bootif) + 1;
+            }
+
            mp->cmdline = p = malloc(arglen);
            for (; *argp && strcmp(*argp, module_separator); argp++) {
                p = stpcpy(p, *argp);
                *p++ = ' ';
            }
+            if (bootif) {
+             p = stpcpy(p, bootif);
+             *p++ = ' ';
+            }
            *--p = '\0';
        }
        mp++;
++++++ syslinux-4.04-noinitrd.diff ++++++
diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c
index 3749920..9a39e79 100644
--- a/com32/gfxboot/gfxboot.c
+++ b/com32/gfxboot/gfxboot.c
@@ -922,11 +922,15 @@ void boot_entry(menu_t *menu_ptr, char *arg)
     *skip_nonspaces(s) = 0;
     initrd_arg = s;
   }
+  else if(initrd_arg) {
+    free(s0);
+    initrd_arg = s0 = strdup(initrd_arg);
+  }
 
   if(initrd_arg) {
     initrd = initramfs_init();
 
-    while((t = strsep(&s, ","))) {
+    while((t = strsep(&initrd_arg, ","))) {
       initrd_buf = load_one(t, &initrd_size);
 
       if(!initrd_buf) {
++++++ syslinux-3.86.tar.bz2 -> syslinux-4.04.tar.bz2 ++++++
++++ 161732 lines of diff (skipped)


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to