Updated Win32 and packaging documentation

This commit is contained in:
Michael Martin
2020-06-17 22:03:26 -07:00
parent 7dd753bd55
commit 17c64af0d3
2 changed files with 70 additions and 3 deletions
+39
View File
@@ -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
View File
@@ -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.