Commit Graph

41 Commits

Author SHA1 Message Date
Greg Neagle
fddd138000 Bumping version to 1.0.0. Updated copyright dates. 2014-01-10 08:20:15 -08:00
Greg Neagle
11aa83062f makepkginfo now inserts some user/environment metadata into generated pkginfo files. It stores the metadata under the '_metadata' key. makecatalogs now strips any key starting with _ from pkginfo before adding the pkginfo to a catalog. 2013-11-04 10:43:06 -08:00
Greg Neagle
c34745b82a Attempt to adjust makecatalogs to play nicer with PackageURL and PackageCompleteURL keys in pkginfo files 2013-07-22 09:37:18 -07:00
Greg Neagle
bb3ff68892 Unicode filename fixes for makecatalogs. 2013-04-04 12:08:26 -07:00
Greg Neagle
98de6685cc Merge of https://code.google.com/r/theheig-conditionals/ apple-update-metadata: Adds support for Munki-style metadata to Apple updates. 2013-02-19 17:09:40 -08:00
Greg Neagle
defd773d60 Some PyLint cleanups for makecatalogs 2013-02-12 20:19:41 -08:00
Greg Neagle
d0a8735c21 Merge branch 'development' of https://github.com/hjuutilainen/munki 2013-02-12 20:13:42 -08:00
Heig Gregorian
4b322e1e43 Use underscores instead of hyphens for new installer_type
apple-update-metadata changed to apple_update_metadata
2013-02-12 08:51:14 -08:00
Heig Gregorian
d92127c241 Initial commit for new installer_type 'apple-update-metadata'
Using the new '--apple-update' option available in makepkginfo (and
therefore munkiimport), an admin can generate metadata pkginfo files
for Apple updates.  Supported metadata keys will modify munki's
behavior of the specified Apple update offered to the client.  Examples
would include 'force_install_after_date' and 'RestartAction'.  The
'makecatalogs' utility has also been updated to allow for this new
installer_type when creating catalogs.

NOTE: Client-side implementation is not included in this commit.  This
commit only deals with the creation of these specialized pkginfo files.
2013-02-06 13:53:43 -08:00
Greg Neagle
4b71ace130 Updated copyright info on all files with copyright info. 2013-01-28 11:55:09 -08:00
Hannes Juutilainen
4d5ec2d617 Modified exit codes and output
makecatalogs should only exit with code 0 if new catalogs were written
to disk
2013-01-25 13:28:06 +02:00
Hannes Juutilainen
5d6a699c7f Added more comments 2013-01-25 13:26:00 +02:00
Hannes Juutilainen
7de3a20e9f Added force option
Added force option to disable sanity checks
2013-01-25 13:24:38 +02:00
Arjen van Bochoven
5daf8ce9d4 Fixed wrong condition in makecatalogs 2012-07-02 20:36:10 +02:00
Arjen van Bochoven
0b495c7a14 Changed package_less install flag to installer_type=nopkg 2012-07-02 11:57:38 +02:00
Arjen van Bochoven
01ddeb765d Added packageless_install 2012-06-30 22:52:22 +02:00
Greg Neagle
f4baa87667 Added comment as to why we delete notes from pkginfo before adding to catalog. 2012-05-22 16:11:37 -07:00
Heig Gregorian
ff7c8f990b Merge branch 'master' into makecatalogs 2012-05-22 14:49:11 -07:00
Greg Neagle
0ed65b7364 Better warning and safer behavior if a pkginfo's catalogs array contains an empty item (<string></string>) 2012-05-07 12:17:32 -07:00
Heig Gregorian
dcf0f91fe8 Remove 'notes' from pkginfo before writing to catalog
'notes' has been proposed as a reserved field for administrator notes.
This addresses a concern regarding exposing the notes in catalogs
generated by 'makecatalogs'.
2012-05-01 18:05:43 -07:00
Greg Neagle
7c910a1180 makecatalogs now skips all files that start with a period. Minor output tweak in munkiimport. 2012-02-28 20:58:07 -08:00
Greg Neagle
2d360448fa Fix undefined 'dirnames' error 2012-02-24 17:11:37 -08:00
Greg Neagle
ee07c2be86 When makecatalogs and manifestutil recurse into repo directories, don't enter directories whose names start with a period. Prevents looking into .git and .svn directories. 2012-02-23 15:18:06 -08:00
Greg Neagle
ba47144877 makecatalogs now will attempt to use the repo_path defined using munkiimport --configure if no repo path is given on the command line. All errors and warnings are now printed at the end to increase their visibility. munkiimport updated to (normally) suppress most of makecatalog's output unless --verbose is given. 2012-02-23 14:42:54 -08:00
Greg Neagle
38701705b7 Fix for issue 134: makecatalogs now warns if it would overwrite an existing catalog. 2012-01-24 12:10:29 -08:00
Greg Neagle
610a5f204a makecatalogs: better error message when pkginfo installer_item_location is not a string 2012-01-17 09:22:42 -08:00
Greg Neagle
1c9e5784c1 - forced_installs and forced_uninstalls now work with items that are part of a dependency relationship
- makecatalogs now has no OS X-specific dependencies

- munkiimport fixes for repos hosted via SMB/CIFS.

git-svn-id: http://munki.googlecode.com/svn/trunk@1097 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-04-06 21:54:29 +00:00
Greg Neagle
a853f78c9f Update copyright dates across the board.
git-svn-id: http://munki.googlecode.com/svn/trunk@1010 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-01-25 18:22:14 +00:00
John Randolph
ffe6722d87 wrap os.listdir() to decode utf-8 unicode into unicode objects
change all code locations using os.listdir() to use munkicommon.listdir()



git-svn-id: http://munki.googlecode.com/svn/trunk@941 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-11-30 16:28:45 +00:00
Greg Neagle
6334f35c6f Revert to Python pre-2.6 try/except format, since the new 2.6+ format breaks under Leopard, which uses Python 2.5.x by default.
git-svn-id: http://munki.googlecode.com/svn/trunk@892 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-11-06 19:28:47 +00:00
MagerValp
7e8931968d Added --version/-V to all interactive tools.
git-svn-id: http://munki.googlecode.com/svn/trunk@846 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-23 08:37:37 +00:00
Greg Neagle
a326c38ec9 Better handling of plist exceptions when given valid plists in non-XML format (ascii, binary).
makecatalogs now should be able to run on non-OS X platforms as long as there is a plistlib module available. (Untested)

git-svn-id: http://munki.googlecode.com/svn/trunk@785 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-08 18:00:00 +00:00
Greg Neagle
aa07c5a726 pylint cleanup
git-svn-id: http://munki.googlecode.com/svn/trunk@656 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-04 23:05:05 +00:00
Greg Neagle
13d151847b Reorganization and minor edits to make pylint a bit happier.
git-svn-id: http://munki.googlecode.com/svn/trunk@626 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-29 23:58:13 +00:00
Greg Neagle
60d864cf29 Updated copyright info for makecatalogs
git-svn-id: http://munki.googlecode.com/svn/trunk@582 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-21 02:58:39 +00:00
Greg Neagle
5aa68dbe00 PEP-8 line length cleanup
git-svn-id: http://munki.googlecode.com/svn/trunk@354 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-18 04:14:13 +00:00
Greg Neagle
3af81c7dcf Changed from #!/usr/bin/env python to #!/usr/bin/python because we need to use Apple's installed Python, and not whatever python the user happens to be using...
git-svn-id: http://munki.googlecode.com/svn/trunk@208 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-09-14 16:50:36 +00:00
Greg Neagle
07fc86c9d7 munkilib.py:
- changes to pythonScriptRunning() to allow the tools to detect if another instance of themselves is running
- updated getBundlePackageInfo() to handle pre-dist style .mpkgs

removepackages.py:
- changes to handle multiple receipts with the same packageid

installcheck:
- removed random sleep option - this will move to another tool so we don't have installcheck itself sleeping; this prevented the other tools from running if you happened to, say, call managedinstaller while installcheck was sleeping.
- installcheck checks to see if another instance of itself is running and exits if so
- suppress errors when getting the primary manifest and trying long hostname, then short hostname, then "site_default".

makecatalogs:
- don't try to process ._ files or .DS_Store files.

makepkginfo:
- try to generate a better installer_item_location if the path has "/pkgs" in it




git-svn-id: http://munki.googlecode.com/svn/trunk@110 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-07-09 06:13:01 +00:00
Greg Neagle
c435d139ba munkilib.py:
Workaround for broken ScriptingBridge to SystemConfiguration in an unreleased OS version.
removepackages.py: 
for an unreleased OS version, no longer manipulate the Apple receipts DB using sqlite3, but instead just use pkgutil (and other related changes)
munkistatus.py: 
munkistatus.message() now clears the detail field.
managedinstaller: 
removed explicit clearing of munkistatus detail
makecatalogs: 
more progress and error reporting when building catalogs
makepkginfo: 
add default catalogs, uninstallable, and uninstall_method info to dictionary



git-svn-id: http://munki.googlecode.com/svn/trunk@104 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-06-24 04:58:17 +00:00
Greg Neagle
9ab12d5a8f Renamed managedinstalls.py to munkilib.py.
Removed cfconsoleuser.py. Its function was added to munkilib.py.
Renamed ManagedInstaller to managedinstaller.py. Next commit it will be renamed to managedinstaller.
Renamed removepackages to removepackages.py
Refactored removepackages.py so it can be called as a Python module as well as a command-line tool.
managedinstaller.py now calls removepackages.py as a module instead of as a subprocess.
Cleaned up globals in installcheck, managedinstaller, and removepackages.
Removed bad copyright info from makcatalogs.


git-svn-id: http://munki.googlecode.com/svn/trunk@74 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-20 16:34:17 +00:00
Greg Neagle
59f69cf162 Major rewrite and refactoring of the core tools.
installcheck replaces catalogcheck.py.  installcheck supports the new catalog format and the new dependencies.  Cleaned up output and logging.
ManagedInstaller and removepackages tweaked for better logging and MunkiStatus output.
Removed the logout hook examples (for now)
makecatalogitem is now makepkginfo
New makecatalogs tool.

git-svn-id: http://munki.googlecode.com/svn/trunk@50 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-11 18:03:40 +00:00