reopen 398421
thanks
I'm afraid it's not fixed yet! (at least, not all the 64-bit issues)
Now it doesn't segfault right away, but segfaults are still very common
when processing real nsi files.
How to reproduce:
svn co -r 44882 svn://svn.debian.org/d-i/people/rmh/win32-loader
cd win32-loader
# disable some dependencies (patch attached)
patch -p0 < /tmp/disable.diff
# see below
touch debian.exe
makensis dil.nsi
Notes:
- It doesn't segfault when debian.exe does not exist prior to running.
- If you remove all the LoadLanguageFile lines, it won't segfault either.
Given the current state of this package wrt 64-bit support, maybe it'd be
a good idea to ship the i386 version only. After all, for a developer it's
not a big problem to use a chroot for building her installers.
--
Robert Millan
My spam trap is [EMAIL PROTECTED] Note: this address is only intended
for spam harvesters. Writing to it will get you added to my black list.
Index: dil.nsi
===================================================================
--- dil.nsi (revision 44882)
+++ dil.nsi (working copy)
@@ -28,7 +28,6 @@
!addplugindir cpuid
!include LogicLib.nsh
-!include checkspacefree.nsh
; First is default
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
@@ -172,25 +171,6 @@
StrCpy $INSTDIR "$c\debian"
SetOutPath $INSTDIR
- ; we need 3 GiB to install debian
- ; FIXME: maybe we should ask whether user wants dual boot or nuking windoze completely first
- StrCpy $0 3145728 ; == 3 GiB
- StrCpy $1 $c
- Call CheckSpaceFunc
- IntCmp $2 1 +2
- MessageBox MB_OK "You do not seem to have enough free disk space in drive $c. For a complete \
-desktop install, it is recommended that you have at least 3 GB of free disk. If you already have a \
-separate disk or partition to install Debian, or if you plan to replace Windows completely, you can \
-safely ignore this warning."
-
- ; and we refuse to start the installer with less than 30 MiB
- StrCpy $0 30720 ; == 30 MiB
- StrCpy $1 $c
- Call CheckSpaceFunc
- IntCmp $2 1 +3
- MessageBox MB_OK "Error: not enough free disk space. Aborting install."
- Quit
-
; Write the uninstall keys for Windows
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Debian-Installer Loader" "DisplayName" "Debian-Installer Loader"
@@ -208,9 +188,8 @@
FunctionEnd
Section "Debian-Installer Loader"
- test64::get_arch
Var /GLOBAL arch
- StrCpy $arch $0
+ StrCpy $arch "amd64"
Var /GLOBAL fellow_hacker
${If} $arch == "i386"
@@ -246,8 +225,6 @@
Quit
${EndIf}
- File /oname=$c\grldr "grub\grldr"
- File /oname=$c\grub "grub\grub"
${If} $gtk == "gtk/"
File /oname=$c\menu.lst "grub\gtk-menu.lst"
${Else}