Package: debian-installer
Severity: wishlist
Tags: patch

Currently, win32-loader is linking in loadlin.exe, gzip.exe and cpio.exe
statically into the executable, which is less than ideal for the propagation
of upgraded versions.

This patch adds them in their own win32-loader/ directory, so that newer
versions can get these files from there instead.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.18-6-amd64 (SMP w/2 CPU cores)
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Index: build/config/x86.cfg
===================================================================
--- build/config/x86.cfg        (revision 52185)
+++ build/config/x86.cfg        (working copy)
@@ -82,9 +82,14 @@
        fi || echo "*** Failed to add boot logo, probably out of space." >&2
 
        # win32-loader
-       (mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/win32-loader.exe    
::setup.exe ; \
-       mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/g2ldr                ::g2ldr 
; \
-       mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/g2ldr.mbr            
::g2ldr.mbr ; \
+       (mmd -i$(TEMP_BOOT) ::win32-loader ; \
+       mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/win32-loader.exe     
::setup.exe ; \
+       mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/g2ldr                
::win32-loader\\g2ldr ; \
+       mcopy -i$(TEMP_BOOT) /usr/lib/win32-loader/g2ldr.mbr            
::win32-loader\\g2ldr.mbr ; \
+       mcopy -i$(TEMP_BOOT) /usr/share/win32/gzip.exe                  
::win32-loader\\gzip.exe ; \
+       mcopy -i$(TEMP_BOOT) /usr/share/win32/cpio.exe                  
::win32-loader\\cpio.exe ; \
+       gunzip /usr/lib/loadlin/loadlin.exe.gz -c > $(TEMP)/loadlin.exe ; \
+       mcopy -i$(TEMP_BOOT) $(TEMP)/loadlin.exe                        
::win32-loader\\loadlin.exe ; \
        \
        (echo -en "[installer]\n"; \
        echo -en "arch=$(ARCH)\n"; \
@@ -95,9 +100,15 @@
                echo -en "user_interface=text\n"; \
                echo -en "$(ARCH)/linux=linux\n$(ARCH)/initrd=initrd.gz\n"; \
        fi; \
-       echo -en "\n[grub]\ng2ldr=g2ldr\ng2ldr.mbr=g2ldr.mbr\n") \
+       echo -en "\n[util]\n"; \
+       echo -en 
"grub=win32-loader\\\\g2ldr\ngrub.mbr=win32-loader\\\\g2ldr.mbr\n"; \
+       echo -en "gzip=win32-loader\\\\gzip.exe\n"; \
+       echo -en "cpio=win32-loader\\\\cpio.exe\n"; \
+       echo -en "loadlin=win32-loader\\\\loadlin.exe\n"; \
+       echo -en "\n; deprecated 
section\n[grub]\ng2ldr=win32-loader\\\\g2ldr\ng2ldr.mbr=win32-loader\\\\g2ldr.mbr\n")
 \
                | todos | mcopy -i$(TEMP_BOOT) - ::win32-loader.ini) \
-       || (mdel -i$(TEMP_BOOT) ::setup.exe ::g2ldr ::g2ldr.mbr 
::win32-loader.ini ; \
+       || (mdel -i$(TEMP_BOOT) ::setup.exe ::win32-loader.ini ; \
+               mdeltree -i$(TEMP_BOOT) ::win32-loader ; \
                echo "*** Failed to add win32-loader, probably out of space." 
>&2)
 
        $(if $(GZIPPED),gzip -v9f $(TEMP_BOOT))
@@ -169,8 +180,14 @@
 
        # win32-loader
        cp /usr/lib/win32-loader/win32-loader.exe       
$(TEMP_CD_INFO_DIR)/setup.exe
-       cp /usr/lib/win32-loader/g2ldr                  
$(TEMP_CD_INFO_DIR)/g2ldr
-       cp /usr/lib/win32-loader/g2ldr.mbr              
$(TEMP_CD_INFO_DIR)/g2ldr.mbr
+       mkdir -p                                        
$(TEMP_CD_INFO_DIR)/win32-loader
+       cp \
+               /usr/lib/win32-loader/g2ldr \
+               /usr/lib/win32-loader/g2ldr.mbr \
+               /usr/share/win32/gzip.exe \
+               /usr/share/win32/cpio.exe \
+                                                       
$(TEMP_CD_INFO_DIR)/win32-loader/
+       gunzip /usr/lib/loadlin/loadlin.exe.gz -c >     
$(TEMP_CD_INFO_DIR)/win32-loader/loadlin.exe
 
        # win32-loader.ini
        (echo -en "[installer]\n"; \
@@ -182,7 +199,12 @@
                echo -en "user_interface=text\n"; \
                echo -en 
"$(ARCH)/linux=install/vmlinuz\n$(ARCH)/initrd=install/initrd.gz\n"; \
        fi; \
-       echo -en "\n[grub]\ng2ldr=g2ldr\ng2ldr.mbr=g2ldr.mbr\n") \
+       echo -en "\n[util]\n"; \
+       echo -en 
"grub=win32-loader\\\\g2ldr\ngrub.mbr=win32-loader\\\\g2ldr.mbr\n"; \
+       echo -en "gzip=win32-loader\\\\gzip.exe\n"; \
+       echo -en "cpio=win32-loader\\\\cpio.exe\n"; \
+       echo -en "loadlin=win32-loader\\\\loadlin.exe\n"; \
+       echo -en "\n; deprecated 
section\n[grub]\ng2ldr=win32-loader\\\\g2ldr\ng2ldr.mbr=win32-loader\\\\g2ldr.mbr\n")
 \
                | todos > $(TEMP_CD_INFO_DIR)/win32-loader.ini
 
 .PHONY: arch_miniiso
@@ -216,8 +238,14 @@
        
        # win32-loader
        cp /usr/lib/win32-loader/win32-loader.exe       
$(TEMP_CD_TREE)/setup.exe
-       cp /usr/lib/win32-loader/g2ldr                  $(TEMP_CD_TREE)/g2ldr
-       cp /usr/lib/win32-loader/g2ldr.mbr              
$(TEMP_CD_TREE)/g2ldr.mbr
+       mkdir -p                                        
$(TEMP_CD_TREE)/win32-loader
+       cp \
+               /usr/lib/win32-loader/g2ldr \
+               /usr/lib/win32-loader/g2ldr.mbr \
+               /usr/share/win32/gzip.exe \
+               /usr/share/win32/cpio.exe \
+                                                       
$(TEMP_CD_TREE)/win32-loader/
+       gunzip /usr/lib/loadlin/loadlin.exe.gz -c >     
$(TEMP_CD_TREE)/win32-loader/loadlin.exe
 
        # win32-loader.ini
        (echo -en "[installer]\n"; \
@@ -229,7 +257,12 @@
                echo -en "user_interface=text\n"; \
                echo -en "$(ARCH)/linux=linux\n$(ARCH)/initrd=initrd.gz\n"; \
        fi; \
-       echo -en "\n[grub]\ng2ldr=g2ldr\ng2ldr.mbr=g2ldr.mbr\n") \
+       echo -en "\n[util]\n"; \
+       echo -en 
"grub=win32-loader\\\\g2ldr\ngrub.mbr=win32-loader\\\\g2ldr.mbr\n"; \
+       echo -en "gzip=win32-loader\\\\gzip.exe\n"; \
+       echo -en "cpio=win32-loader\\\\cpio.exe\n"; \
+       echo -en "loadlin=win32-loader\\\\loadlin.exe\n"; \
+       echo -en "\n; deprecated 
section\n[grub]\ng2ldr=win32-loader\\\\g2ldr\ng2ldr.mbr=win32-loader\\\\g2ldr.mbr\n")
 \
                | todos > $(TEMP_CD_TREE)/win32-loader.ini
 
        mkisofs -r -J -b isolinux.bin -c boot.cat \
Index: debian/control
===================================================================
--- debian/control      (revision 52185)
+++ debian/control      (working copy)
@@ -160,6 +160,9 @@
 #              Used to encrypt a firmware image so an ARM based device
 #              (Thecus N2100) will accept it.
 #      - win32-loader [i386 amd64 kfreebsd-i386 kfreebsd-amd64]
+#      - loadlin [i386 amd64 kfreebsd-i386 kfreebsd-amd64]
+#      - cpio-win32 [i386 amd64 kfreebsd-i386 kfreebsd-amd64]
+#      - gzip-win32 [i386 amd64 kfreebsd-i386 kfreebsd-amd64]
 #              Alternative boot method for win32 platforms.
 
 Package: debian-installer

Reply via email to