Issue #16926 has been updated by Josh Cooper. Status changed from Unreviewed to Accepted
Hi Corey, yes, it'd be great to have this. I don't suppose you'd like to write a module for it? Using ruby/gem to do the unzip would be awesome, so we don't have to depend on an external executable. ---------------------------------------- Bug #16926: Create a package-like type for winzip and other zip utilities for windows https://projects.puppetlabs.com/issues/16926#change-73223 Author: Corey Osman Status: Accepted Priority: Normal Assignee: Category: Target version: Affected Puppet version: Keywords: windows, winzip Branch: I want to install some open source utilities from a zip file. I was able to use an exec resource to perform the install but it would be nice to have a type and provider for this since there are multiple zip utilities for zip (winzip, unzip, winrar, 7zip, ...) Is there an zip resource that acts like the package resource? example: winzip32 -min -e maven3.04.zip c:\maven Below is some information about the undocumented command line options for using the WinZip program module, winzip32.exe. WinZip supports command line options to add and extract from files. Be sure to read the Notes section below for additional important information. Adding Files The command format is: winzip32 [-min] action [options] filename[.zip] files where: -min specifies that WinZip should run minimized. If -min is specified, it must be the first command line parameter. action -a for add, -f for freshen, -u for update, and -m for move. You must specify one (and only one) of these actions. The actions correspond to the actions described in the section titled "Add dialog box options" in the online manual. options -r corresponds to the Include subfolders checkbox in the Add dialog and causes WinZip to add files from subfolders. Folder information is stored for files added from subfolders. If you add -p, WinZip will store folder information for all files added, not just for files from subfolders; the folder information will begin with the folder specified on the command line. -ex, -en, -ef, -es, and -e0 determine the compression method: eXtra, Normal, Fast, Super fast, and no compression. The default is "Normal". -hs includes hidden and system files. Use -sPassword to specify a case-sensitive password. The password can be enclosed in quotes, for example, -s"Secret Password". filename.zip Specifies the name of the Zip file involved. Be sure to use the full filename (including the folder). files Is a list of one or more files, or the @ character followed by the filename containing a list of files to add, one filename per line. Wildcards (e.g. *.bak) are allowed. Extracting Files The command format is: winzip32 -e [options] filename[.zip] folder where -e is required. options -o and -j stand for "Overwrite existing files without prompting" and "Junk pathnames", respectively. Unless -j is specified, folder information is used. Use -sPassword to specify a case-sensitive password. The password can be enclosed in quotes, for example, -s"Secret Password". filename.zip Specifies the name of the Zip file involved. Be sure to specify the full filename (including the folder). folder Is the name of the folder to which the files are extracted. If the folder does not exist it is created. Notes VERY IMPORTANT: always specify complete filenames, including the full folder name and drive letter, for all file IDs. To run WinZip in a minimized inactive icon use the "-min" option. When specified this option must be the first option. Only operations involving the built-in zip and unzip are supported. Enclose long filenames in quotes. When using a list ("@") file, no leading or trailing spaces should appear in file IDs in the list. The action and each option must be separated by at least one space. WinZip can be used to compress files with cc:Mail . Change the compress= line in the [cc:Mail] section of the appropriate WMAIL.INI files to specify the full path for WinZip followed by "-a %1 @%2". For example, if WinZip is installed in your c:\winzip folder, specify -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
