[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