BuildingPatches



------------------------
patching notes from mike
------------------------

Subject: Patching notes
From: Michael Saravo <mts5x@virginia.edu>
Date: 06/13/2012 04:12 PM

The code is in the ApplicationManager project (look at the build.xml there is a patch-builder jar built).

Patches are generated like this:

java -jar patch-builder.jar <old-version> <new-version> <patch-file>

where old version and new version are directories to previous installs, the code essentially generates a diff between the versions and generates a file that the ApplicationWatcher uses to apply to old versions to convert it to the new version.

For the installs/code you ship you will want to modify ApplicationWatcher/genii-base-application.properties to properly reflect a patch url and a patch signing certificate for the deployment

patch files are currently signed with the admin keypair like this:

jarsigner -keystore xcgadmin.pfx -storetype PKCS12 patchfile "GenesisII Admin Cert"   

Attached is a patchrc file which goes in your home directory as .patchrc, the patching program reads this to determine sensitive files or files to ignore.

--Mike


-------
patchrc
-------

#
# Hello
#

[auto-ignore]
XCGContainer
deployments/GeniiNetFullContainer/secure-runnable
Genesis II Uninstaller.app
container.log
export.app
ApplicationWatcher/app-manager.jar
Uninstaller/uninstaller.jar
.installationinformation
.install4j
.install4j/autoUninstall.0
.install4j/files.log
.install4j/i4j_extf_0_1ujv18d.utf8
.install4j/i4j_extf_1_1ujv18d.txt
.install4j/i4jparams.conf
.install4j/i4jruntime.jar
.install4j/installation.log
.install4j/install.prop
.install4j/inst_jre.cfg
.install4j/MessagesDefault
.install4j/pref_jre.cfg
.install4j/response.varfile
.install4j/uninstall.png
.install4j/user.jar
jre/lib/i386/server/classes.jsa
grid
grid-update
runContainer
client-ui.app/Contents/Resources/i4jlauncher.config

[caution]
ApplicationWatcher/genii-base-application.properties
ApplicationWatcher/genii-certtool-application.properties
ApplicationWatcher/genii-client-application.properties
ApplicationWatcher/genii-container-application.properties
ApplicationWatcher/genii-ogrshserv-application.properties
ApplicationWatcher/genii-simple-application.properties
lib/production.log4j.properties
container.properties
updates/current-version.dat
jar-desc.xml
runContainer.sh
simple-command
cert-tool
install-new-container
connect-new-client
uninstall-container
InstallContainerWrapper
UninstallContainerWrapper
initialize-new-net-security
linux-cmd-wrapper
VCGRContainerDaemon
runContainer.bat
grid.bat
ifs.bat
simple-command.bat
cert-tool.bat
install-new-container.bat
connect-new-client.bat
uninstall-container.bat
InstallContainerWrapper.bat
UninstallContainerWrapper.bat
initialize-new-net-security.bat
windows-start-wrapper.bat
windows-cmd-runner.bat
GenesisII-manage-script.bat
OGRSH/config/ogrsh-conf.xml
jserver-jar-desc.xml
jserver.sh
OGRSH/shim-x86.sh
OGRSH/shim-x86-64.sh
deployments/GeniiNetFullContainer/configuration/container-services.xml