glom r1657 - in trunk: . win32



Author: arminb
Date: Tue Aug 12 15:13:33 2008
New Revision: 1657
URL: http://svn.gnome.org/viewvc/glom?rev=1657&view=rev

Log:
2008-08-12  Armin Burgmeier  <armin openismus com>

	* win32/build_installer: Take a revision number as argument, producing
	for instance glom-setup-1.7.1-2.exe.

	* win32/glom.iss.in: Hide the components page, since all components
	are fixed anyway.

	* README: Added some general information on how the installer is
	built.

Added:
   trunk/win32/README
Modified:
   trunk/ChangeLog
   trunk/win32/build-installer
   trunk/win32/glom.iss.in

Added: trunk/win32/README
==============================================================================
--- (empty file)
+++ trunk/win32/README	Tue Aug 12 15:13:33 2008
@@ -0,0 +1,16 @@
+To create the Windows installer for glom, ideally all you have to do is to run
+the build-installer script, after having installed all dependencies to the
+correct places (that means precompiled ones to /, and self-built
+ones to /local/). Also, you will need to have postgresql installed at
+C:\postgres and Python at C:\Python25. The Inno Setup compiler (iscc) needs to
+be in your PATH.
+
+There are many paths hardcoded to fit my own build environment. Feel free to
+generalize the script, to make it more adaptive to other environments.
+
+The script takes an argument which is the revision number of the installer. If
+it is not given, then it uses 1 as revision number. The revision number should
+be increased every time the installer for the same glom version is updated,
+and be reset to 1 for a new glom version.
+
+Armin Burgmeier <armin arbur net>, 2008-08-12

Modified: trunk/win32/build-installer
==============================================================================
--- trunk/win32/build-installer	(original)
+++ trunk/win32/build-installer	Tue Aug 12 15:13:33 2008
@@ -4,6 +4,12 @@
 echo "You need to have python, pygobject, pycairo and pygtk installed into C:\\Python25"
 echo "Make sure glom and all its dependencies have been installed correctly to /local"
 
+revision=$1
+if test "$revision" = ''; then
+  echo "Installer revision not provided, assuming 1"
+  revision=1
+fi
+
 # TODO: Let configure replace @pyexecdir@ to get the correct python path?
 PYTHONDIR=/c/Python25
 POSTGRESDIR=/c/postgres
@@ -207,8 +213,8 @@
 cp $POSTGRESDIR/bin/k5sprt32.dll installer/bin || exit
 cp $POSTGRESDIR/bin/gssapi32.dll installer/bin || exit
 cp $POSTGRESDIR/bin/comerr32.dll installer/bin || exit
-cp $POSTGRESDIR/bin/ssleay32.dll installer/bin || exit
 cp $POSTGRESDIR/bin/libeay32.dll installer/bin || exit
+cp $POSTGRESDIR/bin/ssleay32.dll installer/bin || exit
 
 mkdir -p installer/share/postgresql || exit
 cp $POSTGRESDIR/share/postgres.bki installer/share/postgresql || exit
@@ -260,7 +266,7 @@
 
 echo "Creating installer..."
 
-cp glom.iss installer || exit
+perl -pe "s/INSTALLERREVISION/$revision/" glom.iss > installer/glom.iss || exit
 cp querymodules.bat installer || exit
 iscc installer/glom.iss || exit
 

Modified: trunk/win32/glom.iss.in
==============================================================================
--- trunk/win32/glom.iss.in	(original)
+++ trunk/win32/glom.iss.in	Tue Aug 12 15:13:33 2008
@@ -8,13 +8,13 @@
 AppPublisher=Openismus GmbH
 AppPublisherURL=http://www.glom.org/
 AppVersion= VERSION@
-OutputBaseFilename=glom-setup- VERSION@
+OutputBaseFilename=glom-setup- VERSION@-INSTALLERREVISION
 
 [Components]
 Name: "gtk"; Description: "GTK+ runtime environment"; Types: full compact custom; Flags: fixed
 Name: "python"; Description: "Python runtime and modules"; Types: full compact custom; Flags: fixed
 Name: "main"; Description: "Glom"; Types: full compact custom; Flags: fixed
-Name: "locale"; Description: "Translations"; Types: full
+Name: "locale"; Description: "Translations"; Types: full compact custom; Flags: fixed
 
 ; TODO: Enable languages separately
 
@@ -98,8 +98,8 @@
 Source: "bin/k5sprt32.dll"; DestDir: "{app}/bin"; Components: main
 Source: "bin/gssapi32.dll"; DestDir: "{app}/bin"; Components: main
 Source: "bin/comerr32.dll"; DestDir: "{app}/bin"; Components: main
-Source: "bin/ssleay32.dll"; DestDir: "{app}/bin"; Components: main
 Source: "bin/libeay32.dll"; DestDir: "{app}/bin"; Components: main
+Source: "bin/ssleay32.dll"; DestDir: "{app}/bin"; Components: main
 
 ; TODO: I would like to install these into {app}/share/postgresql, but postgres
 ; does not find them then. Perhaps we should install all of postgres elsewhere,
@@ -157,13 +157,13 @@
 ; Other shared glom files
 Source: "share/glom/glade/glom.glade"; DestDir: "{app}/share/glom/glade"; Components: main
 Source: "share/glom/glade/glom_developer.glade"; DestDir: "{app}/share/glom/glade"; Components: main
-Source: "share/glom/doc/*"; Destdir: "{app}/share/glom/doc/"; Components: main; Flags: recursesubdirs;
+Source: "share/glom/doc/*"; Destdir: "{app}/share/glom/doc/"; Components: main; Flags: recursesubdirs
 
 ;Source: "share/themes/MS-Windows/*"; DestDir: "{app}/share/themes/MS-Windows"; Flags: recursesubdirs; Components: gtk
 
 ; Locales
-Source: "lib\locale\*"; DestDir: "{app}\lib\locale\"; Flags: recursesubdirs; Components: main and locale
-Source: "share\locale\*"; DestDir: "{app}\share\locale\"; Flags: recursesubdirs; Components: main and locale
+Source: "lib\locale\*"; DestDir: "{app}\lib\locale\"; Flags: recursesubdirs; Components: locale
+Source: "share\locale\*"; DestDir: "{app}\share\locale\"; Flags: recursesubdirs; Components: locale
 
 ; Register .glom file type if we install for all users. Is there a possibility
 ; to register a type just for a single user?
@@ -187,7 +187,7 @@
 	begin
 		DeleteFile(ExpandConstant('{app}') + '\etc\gtk-2.0\gtk.immodules');
 		DeleteFile(ExpandConstant('{app}') + '\etc\gtk-2.0\gdk-pixbuf.loaders');
-;		DeleteFile(ExpandConstant('{app}') + '\etc\pango\pango.modules');
+//		DeleteFile(ExpandConstant('{app}') + '\etc\pango\pango.modules');
 	end;
 end;
 
@@ -199,3 +199,12 @@
 	DelTree(ExpandConstant('{app}') + '\etc', TRUE, TRUE, TRUE);
 	DelTree(ExpandConstant('{app}'), TRUE, FALSE, FALSE);
 end;
+
+// Skip Components selection, all components are required anyway
+function ShouldSkipPage(CurPageID: Integer): Boolean;
+begin
+	if CurPageID = wpSelectComponents then
+		Result := True
+	else
+		Result := False;
+end;



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