Kaydet (Commit) 5525fb3a authored tarafından Andras Timar's avatar Andras Timar

fdo#48087 get real version numbers from executables for the File table of MSI

This is only a partial fix to the bug, the second part will be the creation
and population of MsiFileHash table.
üst 778d80bc
...@@ -17,8 +17,6 @@ Globals ...@@ -17,8 +17,6 @@ Globals
BASISPACKAGEPREFIX libobasis BASISPACKAGEPREFIX libobasis
UREPACKAGEPREFIX libreoffice UREPACKAGEPREFIX libreoffice
SOLSUREPACKAGEPREFIX libreoffice SOLSUREPACKAGEPREFIX libreoffice
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
REGISTRATION_HOST https://registration.libreoffice.org/RegistrationWeb REGISTRATION_HOST https://registration.libreoffice.org/RegistrationWeb
REGISTRATIONURL http://survey.libreoffice.org/user/index.php REGISTRATIONURL http://survey.libreoffice.org/user/index.php
PROGRESSBARCOLOR 126,170,23 PROGRESSBARCOLOR 126,170,23
...@@ -76,8 +74,6 @@ LibreOffice ...@@ -76,8 +74,6 @@ LibreOffice
BETAUPGRADECODE BETAUPGRADECODE
STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A}
CHANGETARGETDIR 1 CHANGETARGETDIR 1
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt PATCHCODEFILE ooo_patchcodes.txt
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/ STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
STARTCENTER_INFO_URL http://www.libreoffice.org/ STARTCENTER_INFO_URL http://www.libreoffice.org/
...@@ -136,8 +132,6 @@ LibreOffice_Dev ...@@ -136,8 +132,6 @@ LibreOffice_Dev
BETAUPGRADECODE BETAUPGRADECODE
STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A}
CHANGETARGETDIR 1 CHANGETARGETDIR 1
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooodev_patchcodes.txt PATCHCODEFILE ooodev_patchcodes.txt
CODEFILENAME codes_ooodev.txt CODEFILENAME codes_ooodev.txt
LOCALUSERDIR $ORIGIN/.. LOCALUSERDIR $ORIGIN/..
...@@ -404,8 +398,6 @@ OxygenOffice ...@@ -404,8 +398,6 @@ OxygenOffice
BETAUPGRADECODE BETAUPGRADECODE
STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A}
CHANGETARGETDIR 1 CHANGETARGETDIR 1
USE_FILEVERSION 1
LIBRARYVERSION 9.4.0
PATCHCODEFILE ooo_patchcodes.txt PATCHCODEFILE ooo_patchcodes.txt
PROGRESSBARCOLOR 126,170,23 PROGRESSBARCOLOR 126,170,23
PROGRESSSIZE 430,5 PROGRESSSIZE 430,5
......
...@@ -553,32 +553,22 @@ sub get_fileversion ...@@ -553,32 +553,22 @@ sub get_fileversion
my $fileversion = ""; my $fileversion = "";
if ( $allvariables->{'USE_FILEVERSION'} ) if ( $onefile->{'Name'} =~ /\.bin$|\.com$|\.dll$|\.exe$|\.pyd$/ )
{ {
if ( ! $allvariables->{'LIBRARYVERSION'} ) { installer::exiter::exit_program("ERROR: USE_FILEVERSION is set, but not LIBRARYVERSION", "get_fileversion"); } open (EXE, "<$onefile->{'sourcepath'}");
my $libraryversion = $allvariables->{'LIBRARYVERSION'}; binmode EXE;
if ( $libraryversion =~ /^\s*(\d+)\.(\d+)\.(\d+)\s*$/ ) {local $/ = undef; $exedata = <EXE>;}
close EXE;
my $binaryfileversion = "(V\x00S\x00_\x00V\x00E\x00R\x00S\x00I\x00O\x00N\x00_\x00I\x00N\x00F\x00O\x00\x00\x00\x00\x00\xbd\x04\xef\xfe\x00\x00\x01\x00)(........)";
if ($exedata =~ /$binaryfileversion/ms)
{ {
my $major = $1; my ($header, $subversion, $version, $vervariant, $microversion) = ($1,unpack( "vvvv", $2));
my $minor = $2; $fileversion = $version . "." . $subversion . "." . $microversion . "." . $vervariant;
my $micro = $3;
my $concat = 100 * $minor + $micro;
$libraryversion = $major . "\." . $concat;
} }
my $vendornumber = 0;
if ( $allvariables->{'VENDORPATCHVERSION'} ) { $vendornumber = $allvariables->{'VENDORPATCHVERSION'}; }
$fileversion = $libraryversion . "\." . $installer::globals::buildid . "\." . $vendornumber;
if ( $onefile->{'FileVersion'} ) { $fileversion = $onefile->{'FileVersion'}; } # overriding FileVersion in scp
# if ( $styles =~ /\bFONT\b/ )
# {
# my $newfileversion = installer::windows::font::get_font_version($onefile->{'sourcepath'});
# if ( $newfileversion != 0 ) { $fileversion = $newfileversion; }
# }
} }
if ( $installer::globals::prepare_winpatch ) { $fileversion = ""; } # Windows patches do not allow this version # -> who says so?
return $fileversion; return $fileversion;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment