Updated Win32 and packaging documentation
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
CREATING NEW CONTENT PACKAGES
|
||||
-----------------------------
|
||||
|
||||
When a new version of UQM is released, new versions of the content
|
||||
packages will also need to be created and uploaded. These packages are
|
||||
renamed zip files created by the uqmzip utility under tools/uqmzip, and
|
||||
ultimately by the "zip" commandline utility itself.
|
||||
|
||||
Because of the way Windows and Git interact with line endings and the like,
|
||||
and because of macOS's occasionaly pollution of zip files with macOS-specific
|
||||
metadata, official releases always create these packages on a Linux system,
|
||||
|
||||
The behavior of uqmzip is controlled by variables set at the beginning of it;
|
||||
customize these variables for the version and for your system, but remember
|
||||
to back out any changes that refer to your system's unique configuration!
|
||||
|
||||
Once the packages are created, upload them to SourceForge in an appropriate
|
||||
directory matching the current pattern for previous versions. This will
|
||||
make them available for new users and for the Windows network installer.
|
||||
|
||||
The network installer will also need to be modified to know how to recognize
|
||||
the new packages. Make a dist-packages/ directory in the repository root (so,
|
||||
next to sc2 and tools) and put all of them in there. There should be seven;
|
||||
content, 3domusic, voice, and the four remix packs. Change the directory to
|
||||
sc2/build/win32_install and run:
|
||||
|
||||
./procpkgs.sh
|
||||
|
||||
This will update packages.nsh with fresh versions of the MD5 sums and
|
||||
package filenames for later inclusion in the installer logic.
|
||||
|
||||
If this was a release more significant than a patch release, then the
|
||||
SourceForge packages were uploaded to a new directory; edit any necessary
|
||||
instances of the $DOWNLOADPATH variable in uqm-installer.nsi to point
|
||||
to the new URLs.
|
||||
|
||||
Changes to packages.nsh and uqm-installer.nsi SHOULD be committed to the
|
||||
repository in their corresponding version branch. Changes to the uqmzip
|
||||
script SHOULD NOT be committed.
|
||||
+31
-3
@@ -1,6 +1,34 @@
|
||||
BUILDING THE WIN32 INSTALLER
|
||||
----------------------------
|
||||
|
||||
At the moment, alas, this file is a stub. The process needs some
|
||||
refinement before a minimal set of build steps may be assembled. This
|
||||
file should be updated before any 0.8 release candidate.
|
||||
You will need additional packages installed beyond what is necessary
|
||||
for a build:
|
||||
|
||||
pacman -S dos2unix mingw-w64-i686-nsis mingw-w64-i686-ntldd
|
||||
pacman -S mingw-w64-i686-SDL mingw-w64-i686-SDL_gfx unzip zip
|
||||
|
||||
You will also need the INetC and MD5dll plugins for NSIS:
|
||||
|
||||
https://nsis.sourceforge.io/mediawiki/images/c/c9/Inetc.zip
|
||||
https://nsis.sourceforge.io/mediawiki/images/d/d7/Md5dll.zip
|
||||
|
||||
Unzip these somewhere and then copy the 32-bit ANSI versions of the library
|
||||
into place:
|
||||
|
||||
cp Plugins/x86-ansi/INetC.dll /mingw32/share/nsis/Plugins/ansi/
|
||||
cp md5dll/ANSI/md5dll.dll /mingw32/share/nsis/Plugins/ansi/
|
||||
|
||||
If this is a new release of UQM, and content packs have not already been
|
||||
regenerated, consult INSTALL.pkgs for the steps to update it. These steps
|
||||
include updates to the "packages.nsh" file and the "uqm-installer.nsi" files,
|
||||
so you should inspect these files to make sure that it's announcing the
|
||||
correct version and downloading the correct versions of the content packs.
|
||||
|
||||
With these things in place, run the installer creator out of its directory:
|
||||
|
||||
cd sc2/build/win32_install
|
||||
./build-win32-installer.sh
|
||||
|
||||
If all goes well, this will build UQM and the KeyJam application, and then
|
||||
build an NSIS-based installer that will install them and all necessary
|
||||
ancillary files.
|
||||
|
||||
Reference in New Issue
Block a user