[wpkg-announce] Announcement: WPKG 1.1.3-RC8 pre-release
Rainer Meier
r.meier at wpkg.org
Sun Jun 19 23:05:59 CEST 2011
Hi all,
I did spend more time on the modifications and enhanced some of the concepts
introduced in WPKG 1.1.3-RC7 further.
Changes included:
NEW: Extended host attribute match now allows to match architecture using
architecture="<arc>" attribute. The following architectures are currently
supported:
x86 32-bit operating system
x64 64-bit operating system
Note: You will have to match x86 also if you run Windows 32-bit on
AMD64/EMT64/x64 hardware.
NEW: Extended host attribute match allows to match environment variables using
environment="variable1=^regexp$|variable2=regexp..." attribute.
Please note that regular expressions are matched case-insensitive and
multiple variables have to be separated by the pipe ('|') character.
Please also note that in case you use WPKG-client the system-user
environment might differ from the environment you see when opening a
command prompt and typing 'set'. Some variables might be missing and
others might have different content. So use with caution.
NEW: Extended use of host matches. Now WPKG supports host matches from previous
update not only in <host /> definitions but also in <package />
definitions used within <profile /> nodes. This allows profiles where
certain packages are applied only if specific host-conditions match.
For example:
<profile id='default'>
<package package-id='AdobeReader' os="windows 7" architecture="x64" />
<package package-id='audacity' />
<package package-id='pidgin' os="windows 7" />
<package package-id='firefox' environment="NUMBER_OF_PROCESSORS=^4$" />
</profile>
This example would install "AdobeReader" only on systems with Windows 7
64-bit edition running while "pidgin" is installed on all Windows 7 hosts
regardless of the architecture. The "firefox" package would be installed
only if WPKG runs within an environment which defines the
NUMBER_OF_PROCESSORS environment variable to the value "4".
The "audacity" packages would be installed on any host which gets the
'default' profile assigned.
You can download the full package at:
<http://wpkg.org/files/beta/WPKG-1.1.3-RC8.zip>
Of course you can also just get the latest wpkg.js from SVN:
<http://wpkg.svn.sourceforge.net/viewvc/wpkg/wpkg/stable/1.1/>
The documentation, change notes and XSD files have been updated to match new
possibilities in hosts.xml and profiles.xml.
Any feedback is appreciated.
Change notes
============
WPKG Version: 1.1.3-RC8
Author: : Rainer Meier <skybeam (at) users.sourceforge.net>
Date : 2011-06-19
Status : release pending
Changes/fixes visible to the user:
Summary:
- Fixed IP-address match in case 3 "." are used in host matching string.
- Fixed package removal procedure exception in case of /noremove flag is used.
- Fixed removal of settings entry in case of /noremove and no package checks.
- Allow folders to be checked with file checks.
- Allows recursive search for uninstall entries in registry
- Enhance wrapper.js to use sysnative cmd.exe.
- Disabled recursive registry uninstall checking again due to slow execution.
- Closing STDIN when executing commands.
- Extended host matching for OS, IP, domain and groups.
- Fix for crash if interface has no IP bound to it.
- Fix for registry exist checks not returning true.
- Fix for execute test writes null values to the logs.
- Fix included estetic break.
- Extended host attribute match for host architecture.
- Extended host attribute match for environment variables.
- Support for host attribute matches in <package/> definitions within profiles.
- Small fixes and optimizations.
NEW: Updated IP matching algorithm to prevent accidental matching if regexp or
host name is used which uses exactly 3 "." within the string.
Thanks to Stefan Pendl for reporting.
FIX: Fixed package removal procedure in case /noremove flag is set. WPKG would
have failed (exception thrown) in case /notemove was used and a package
is detected NOT to be installed.
FIX: In case /noremove is used and the package does not define any checks WPKG
is unable to detect if the package is still installed or not. Previously
WPKG was assuming that the package is not installed and removed it from
the local settings file. This has been changed. The package will now only
be removed from the settings file if it defines some checks which allow
WPKG to clearly detect that the package is not installed on the system.
So if the package does not define any checks WPKG assumes it's still
installed on the systme and does not remove its entry from the local
settings file (wpkg.xml).
FIX: Updated "file" type checks to match folders too. Now a check of type file
for condition exist yields true for a patch referring either a file or
a folder.
Thanks to Joe for reporting.
NEW: WPKG now allows uninstall entries to be defined in sub-nodes of the
uninstall registry key. I was unable to verify that Windows supports such
entries but as reported RationalPlan Viewer seems to add such a sub-node:
Uninstall\RationalPlan\Viewer.
There might be other programs doing the same.
During tests Windows XP and Windows 7 were ignoring such entries but now
WPKG supports these entries now. (NOTE: Disabled again, read below)
NEW: Enhanced wrapper.js to use sysnative directory. The sysnative directory
allows 32-bit programs to access the 64-bit binaries within
%SystemRoot%\system32\. This way it is not necessary any more to copy the
64-bit version of cmd.exe to the 64-bit\ sub-folder since the wrapper can
launch the locally available 64-bit cmd.exe.
MOD: Disabled recursive uninstall checks again. Reading registry keys
recursively is very slow with WSH and since there are typically
many sub-keys within the uninstall locations this causes a very long
delay each time an uninstall check is used.
It's recommended to use a registry value check instead of an uninstall
check in order to check for the status of an application which puts its
uninstall entry within a sub-key of the uninstall keys in the registry.
MOD: WPKG now closes STDIN when executing external commands. Some applications
seem to wait for STDIN to be closed before they exit. Microsoft PowerShell
seems to be one of the affected applications.
Since closing STDIN should not have negative effects (WPKG will not write
to STDIN) it's supposed to be safe to close it.
Thanks to Stéphane Bilqué for reporting.
NEW: Many extensions in host matching. Now a host entry in hosts.xml is allowed
to include the following attributes:
<host name='host-x'
profile-id='profile-reference'
os="windows 7"
ipaddresses="^192\.168\.1\..*"
domainname="^domain$"
groups="^group.*$" />
Note: All special parameters (os, ipaddresses, domainname, groups) are
specified as regular expressions. Especially keep this in mind when
specifying IP-addresses or any parameter including periods (.). As a
period in regular expression means "any character". So keep in mind to
escape special regular expression characters.
Many thanks to Daniel Dehennin for continued support of this changes.
It just almost took as long as finishing DNF to include it. *sigh*
FIX: Included fix for bug 196 which could make WPKG crash in case no IP
address is assigned to a network card.
Thanks to Daniel Dehennin again.
FIX: Included fix for bug 199 where registry exist checks did not return true.
Thanks to Daniel Dehennin again.
FIX: Included fix for bug 200 where execute test fallback to 'exitcodeequalto'
in 'execute' tests writes null values to the logs.
Thanks to Daniel Dehennin again.
FIX: Included esthetic break statement in check condition for uninstall checks.
Thanks to Daniel Dehennin again.
NEW: Extended host attribute match now allows to match architecture using
architecture="<arc>" attribute. The following architectures are currently
supported:
x86 32-bit operating system
x64 64-bit operating system
Note: You will have to match x86 also if you run Windows 32-bit on
AMD64/EMT64/x64 hardware.
NEW: Extended host attribute match allows to match environment variables using
environment="variable1=^regexp$|variable2=regexp..." attribute.
Please note that regular expressions are matched case-insensitive and
multiple variables have to be separated by the pipe ('|') character.
Please also note that in case you use WPKG-client the system-user
environment might differ from the environment you see when opening a
command prompt and typing 'set'. Some variables might be missing and
others might have different content. So use with caution.
NEW: Extended use of host matches. Now WPKG supports host matches from previous
update not only in <host /> definitions but also in <package />
definitions used within <profile /> nodes. This allows profiles where
certain packages are applied only if specific host-conditions match.
For example:
<profile id='default'>
<package package-id='AdobeReader' os="windows 7" architecture="x64" />
<package package-id='audacity' />
<package package-id='pidgin' os="windows 7" />
<package package-id='firefox' environment="NUMBER_OF_PROCESSORS=^4$" />
</profile>
This example would install "AdobeReader" only on systems with Windows 7
64-bit edition running while "pidgin" is installed on all Windows 7 hosts
regardless of the architecture. The "firefox" package would be installed
only if WPKG runs within an environment which defines the
NUMBER_OF_PROCESSORS environment variable to the value "4".
The "audacity" packages would be installed on any host which gets the
'default' profile assigned.
MOD: Some smaller fixes and optimizations.
br,
Rainer
More information about the wpkg-announce
mailing list