From b3d7e2e7f2debe674e430172de8631999b15d896 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 11 Aug 2020 14:36:20 -0700 Subject: [PATCH 01/32] Bumped version to 1.5.5. --- AutoPkgr.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr.xcodeproj/project.pbxproj b/AutoPkgr.xcodeproj/project.pbxproj index 698c5da..7d67ed1 100644 --- a/AutoPkgr.xcodeproj/project.pbxproj +++ b/AutoPkgr.xcodeproj/project.pbxproj @@ -3118,7 +3118,7 @@ INFOPLIST_FILE = "AutoPkgr/Supporting Files/AutoPkgr-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 1.5.4; + MARKETING_VERSION = 1.5.5; OTHER_CODE_SIGN_FLAGS = ""; "OTHER_CODE_SIGN_FLAGS[sdk=*]" = "--options=runtime"; OTHER_LDFLAGS = ( @@ -3182,7 +3182,7 @@ INFOPLIST_FILE = "AutoPkgr/Supporting Files/AutoPkgr-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MARKETING_VERSION = 1.5.4; + MARKETING_VERSION = 1.5.5; OTHER_CODE_SIGN_FLAGS = ""; "OTHER_CODE_SIGN_FLAGS[sdk=*]" = "--options=runtime"; OTHER_LDFLAGS = ( From 172562b60db7f96711841dc474c0433d2f1cb8fc Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 11 Aug 2020 14:37:05 -0700 Subject: [PATCH 02/32] Bumped deployment target to 10.13. --- AutoPkgr.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr.xcodeproj/project.pbxproj b/AutoPkgr.xcodeproj/project.pbxproj index 7d67ed1..43a5663 100644 --- a/AutoPkgr.xcodeproj/project.pbxproj +++ b/AutoPkgr.xcodeproj/project.pbxproj @@ -3117,7 +3117,7 @@ GCC_PREFIX_HEADER = "AutoPkgr/Supporting Files/AutoPkgr-Prefix.pch"; INFOPLIST_FILE = "AutoPkgr/Supporting Files/AutoPkgr-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.5.5; OTHER_CODE_SIGN_FLAGS = ""; "OTHER_CODE_SIGN_FLAGS[sdk=*]" = "--options=runtime"; @@ -3181,7 +3181,7 @@ GCC_PREFIX_HEADER = "AutoPkgr/Supporting Files/AutoPkgr-Prefix.pch"; INFOPLIST_FILE = "AutoPkgr/Supporting Files/AutoPkgr-Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.5.5; OTHER_CODE_SIGN_FLAGS = ""; "OTHER_CODE_SIGN_FLAGS[sdk=*]" = "--options=runtime"; From ab536db30b85d018385c8c8a191941f85bad79b6 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:22:28 -0700 Subject: [PATCH 03/32] Auto update of build number --- AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index 8ae9c91..bfa22c4 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1444 + 1450 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion From 0144cec3b8ab2eb157c86214015ac08ef978c547 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:23:06 -0700 Subject: [PATCH 04/32] Update LGGoogleHangoutsNotification.m This uses the Slack template for better interaction with Google Chat/Hangouts. --- .../Models/Email & Notifications/LGGoogleHangoutsNotification.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m index e75f4a3..ff3fef0 100644 --- a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m +++ b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m @@ -67,7 +67,7 @@ + (BOOL)templateIsFile + (NSString *)defaultTemplate { - return [self templateWithName:@"web_report" type:@"html"]; + return [self templateWithName:@"slack_report" type:@"md"]; } #pragma mark - Send From be23ddb5d01de526cc8932cc315a1fa5633b6f64 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:47:30 -0700 Subject: [PATCH 05/32] Updated info for Google Chat --- .../Supporting Files/en.lproj/LocalizableHelpPopover.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr/Supporting Files/en.lproj/LocalizableHelpPopover.strings b/AutoPkgr/Supporting Files/en.lproj/LocalizableHelpPopover.strings index 6cc6823..e75d95d 100644 --- a/AutoPkgr/Supporting Files/en.lproj/LocalizableHelpPopover.strings +++ b/AutoPkgr/Supporting Files/en.lproj/LocalizableHelpPopover.strings @@ -17,8 +17,8 @@ "microsoftTeamsHelpInfoURL" = "https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/connectors#setting-up-a-custom-incoming-webhook"; -"googleHangoutsInfoTitle" = "Google Hangouts Notifications"; -"googleHangoutsHelpInfo" = "Incoming Webhooks are a simple way to post messages from external sources into Google Hangouts. Navigate to the link below to view instructions on how to generate a Incoming Webhook URL."; +"googleHangoutsInfoTitle" = "Google Notifications"; +"googleHangoutsHelpInfo" = "Incoming Webhooks are a simple way to post messages from external sources into Google Chat/Hangouts. Navigate to the link below to view instructions on how to generate a Incoming Webhook URL."; "googleHangoutsHelpInfoURL" = "https://developers.google.com/hangouts/chat/how-tos/webhooks"; From b5df68896963851df20c50e199a543c5c3db9174 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:47:58 -0700 Subject: [PATCH 06/32] Update LGGoogleHangoutsNotification.m Updated messaging for Google Chat --- .../Email & Notifications/LGGoogleHangoutsNotification.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m index ff3fef0..792f18f 100644 --- a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m +++ b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m @@ -32,7 +32,7 @@ @implementation LGGoogleHangoutsNotification #pragma mark - Protocol Conforming + (NSString *)serviceDescription { - return @"AutoPkgr Google Hangouts"; + return @"AutoPkgr Google Chat"; } + (BOOL)reportsIntegrations @@ -52,7 +52,7 @@ + (BOOL)storesInfoInKeychain + (NSString *)account { - return @"AutoPkgr Google Hangouts Webhook URL"; + return @"AutoPkgr Google Chat Webhook URL"; } + (NSURL *)serviceURL @@ -79,7 +79,7 @@ - (void)send:(void (^)(NSError *))complete - (void)sendTest:(void (^)(NSError *))complete { - [self sendMessage:NSLocalizedString(@"You are now set up to receive notifications in your Google Hangouts channel!", nil) title:nil complete:complete]; + [self sendMessage:NSLocalizedString(@"You are now set up to receive notifications in your Google Chat room!", nil) title:nil complete:complete]; } - (void)sendMessage:(NSString *)message title:(NSString *)title complete:(void (^)(NSError *))complete @@ -121,7 +121,7 @@ - (void)sendMessageWithParameters:(NSDictionary *)parameters self.notificatonComplete(nil); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { - NSLog(@"Error sending Google Hangouts notification: %@", operation.responseString); + NSLog(@"Error sending Google notification: %@", operation.responseString); self.notificatonComplete([LGError errorWithResponse:operation.response]); }]; } From 306c812aa23726a8110257a789e37af2b91b1f19 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:48:22 -0700 Subject: [PATCH 07/32] Update LGNotificationsViewController.xib Updated button title for Google Chat --- .../LGNotificationsViewController.xib | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGNotificationsViewController.xib b/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGNotificationsViewController.xib index d84b6c0..e2b7e9b 100644 --- a/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGNotificationsViewController.xib +++ b/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGNotificationsViewController.xib @@ -1,8 +1,8 @@ - + - + @@ -68,7 +68,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -130,7 +130,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -162,7 +162,7 @@ - + @@ -173,7 +173,7 @@ - + @@ -210,7 +210,7 @@ - + @@ -225,7 +225,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -249,7 +249,7 @@ - + @@ -278,7 +278,7 @@ - + @@ -289,7 +289,7 @@ - + @@ -456,7 +456,7 @@ - + From 9b6f4328e88c6dbe345f5ff9d18beecc87dd1406 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:49:51 -0700 Subject: [PATCH 08/32] Update LGRecipeTableViewController.m Disabled automatic run of MakeCatalogs.munki. This should be opted into by the user. --- .../LGRecipeTableViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m index 8f83e5e..2229778 100644 --- a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m +++ b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m @@ -279,7 +279,7 @@ - (void)runRecipesFromMenu:(NSMenuItem *)item LGAutoPkgRecipe *recipe = _searchedRecipes[idx]; [recipes addObject:recipe.Identifier]; if ([predicate evaluateWithObject:recipe]) { - runMakeCatalogs = YES; + runMakeCatalogs = NO; } }]; From e92e6f6e516ae11812939dfe6b4e53aad3fa8237 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 13:50:57 -0700 Subject: [PATCH 09/32] Update LGAutoPkgRecipe.m Removed disabling of checkbox enablement for the MakeCatalogs.munki recipe. This should be available to check, and opted into by the user. --- AutoPkgr/Models/AutoPkg Task/LGAutoPkgRecipe.m | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/AutoPkgr/Models/AutoPkg Task/LGAutoPkgRecipe.m b/AutoPkgr/Models/AutoPkg Task/LGAutoPkgRecipe.m index 2cb6afa..7c61a90 100644 --- a/AutoPkgr/Models/AutoPkg Task/LGAutoPkgRecipe.m +++ b/AutoPkgr/Models/AutoPkg Task/LGAutoPkgRecipe.m @@ -177,9 +177,9 @@ - (void)setEnabled:(BOOL)enabled { /* We automatically handle the enabling of the MakeCatalogs recipe * so don't do anything if that's the one getting enabled. */ - if ([self.Name isEqualToString:kLGMakeCatalogsRecipeName]) { - return; - } + //if ([self.Name isEqualToString:kLGMakeCatalogsRecipeName]) { + //return; + //} /* This is all dispatched to a serial queue so a race condition doesn't raise * when multiple recipes are added or removed in rapid succession. */ @@ -218,7 +218,6 @@ - (void)setEnabled:(BOOL)enabled * now listed. If so re-add the MakeCatalogs recipe. */ [currentList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { if ([obj rangeOfString:@"munki"].location != NSNotFound) { - [currentList addObject:kLGMakeCatalogsRecipeName]; *stop = YES; } }]; From b0a371c8d9634337d31fb57284fcc5b5f90ff69e Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 14:13:14 -0700 Subject: [PATCH 10/32] Update LGGoogleHangoutsNotification.m Updated formatting for Google Chat template (Slack template) to markdown. --- .../Email & Notifications/LGGoogleHangoutsNotification.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m index 792f18f..9200aa0 100644 --- a/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m +++ b/AutoPkgr/Models/Email & Notifications/LGGoogleHangoutsNotification.m @@ -70,6 +70,11 @@ + (NSString *)defaultTemplate return [self templateWithName:@"slack_report" type:@"md"]; } ++ (ACEMode)tempateFormat +{ + return ACEModeMarkdown; +} + #pragma mark - Send - (void)send:(void (^)(NSError *))complete { From 6a5ad8e1863917afe67338b8c8172351402c373d Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 14:47:50 -0700 Subject: [PATCH 11/32] Update LGRecipeTableViewController.m Disabled automatic add of MakeCatalogs.munki. This should be opted into by the user. --- .../LGRecipeTableViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m index 2229778..67dbe8d 100644 --- a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m +++ b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m @@ -279,12 +279,12 @@ - (void)runRecipesFromMenu:(NSMenuItem *)item LGAutoPkgRecipe *recipe = _searchedRecipes[idx]; [recipes addObject:recipe.Identifier]; if ([predicate evaluateWithObject:recipe]) { - runMakeCatalogs = NO; + runMakeCatalogs = YES; } }]; if (runMakeCatalogs) { - [recipes addObject:@"MakeCatalogs.munki"]; + //[recipes addObject:@"MakeCatalogs.munki"]; } LGAutoPkgTask *runTask = [LGAutoPkgTask runRecipesTask:recipes]; From 7938b3ef1b21846ea284e3509b6ff43064da4fc2 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 16:26:06 -0700 Subject: [PATCH 12/32] Revert "Update LGRecipeTableViewController.m" This reverts commit 6a5ad8e1863917afe67338b8c8172351402c373d. --- .../LGRecipeTableViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m index 67dbe8d..2229778 100644 --- a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m +++ b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m @@ -279,12 +279,12 @@ - (void)runRecipesFromMenu:(NSMenuItem *)item LGAutoPkgRecipe *recipe = _searchedRecipes[idx]; [recipes addObject:recipe.Identifier]; if ([predicate evaluateWithObject:recipe]) { - runMakeCatalogs = YES; + runMakeCatalogs = NO; } }]; if (runMakeCatalogs) { - //[recipes addObject:@"MakeCatalogs.munki"]; + [recipes addObject:@"MakeCatalogs.munki"]; } LGAutoPkgTask *runTask = [LGAutoPkgTask runRecipesTask:recipes]; From d2a52230df33d18a09fe9cf520f37b178c92794f Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Wed, 12 Aug 2020 16:48:40 -0700 Subject: [PATCH 13/32] Updated runMakeCatalogs --- AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- .../LGRecipeTableViewController.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index bfa22c4..ff998bb 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1450 + 1460 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m index 2229778..8f83e5e 100644 --- a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m +++ b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m @@ -279,7 +279,7 @@ - (void)runRecipesFromMenu:(NSMenuItem *)item LGAutoPkgRecipe *recipe = _searchedRecipes[idx]; [recipes addObject:recipe.Identifier]; if ([predicate evaluateWithObject:recipe]) { - runMakeCatalogs = NO; + runMakeCatalogs = YES; } }]; From 5a6ad5f2ef44f7328858b4529a6558bbd6b1095e Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 15:03:23 -0700 Subject: [PATCH 14/32] Corrected runMakeCatalogs Now user opts into MakeCatalogs via checking the recipe or the override of the recipe. No more auto-add. --- AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- .../LGRecipeTableViewController.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index ff998bb..314839e 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1460 + 1461 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m index 8f83e5e..2229778 100644 --- a/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m +++ b/AutoPkgr/Views-Controllers-XIB/Recipes & Repos Table Controllers/LGRecipeTableViewController.m @@ -279,7 +279,7 @@ - (void)runRecipesFromMenu:(NSMenuItem *)item LGAutoPkgRecipe *recipe = _searchedRecipes[idx]; [recipes addObject:recipe.Identifier]; if ([predicate evaluateWithObject:recipe]) { - runMakeCatalogs = YES; + runMakeCatalogs = NO; } }]; From ea73f94488abd182e5d8b03d903c21cb4a15d5bf Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 15:11:56 -0700 Subject: [PATCH 15/32] Updated credits --- AutoPkgr/Supporting Files/en.lproj/Credits.rtf | 6 +++--- AutoPkgr/Supporting Files/es.lproj/Credits.rtf | 6 +++--- AutoPkgr/Supporting Files/fr.lproj/Credits.rtf | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/AutoPkgr/Supporting Files/en.lproj/Credits.rtf b/AutoPkgr/Supporting Files/en.lproj/Credits.rtf index ad153bf..cd49932 100644 --- a/AutoPkgr/Supporting Files/en.lproj/Credits.rtf +++ b/AutoPkgr/Supporting Files/en.lproj/Credits.rtf @@ -1,5 +1,5 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 -{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} +{\rtf1\ansi\ansicpg1252\cocoartf2513 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \vieww9600\viewh8400\viewkind0 @@ -28,7 +28,7 @@ and Eldon Ahrold\ \f1 \cf0 Ongoing development:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 -\f0 \cf0 Shawn Honsberger and Elliot Jordan\ +\f0 \cf0 Shawn Honsberger\ \ AutoPkgr takes advantage of the following awesome open-source libraries and projects:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 diff --git a/AutoPkgr/Supporting Files/es.lproj/Credits.rtf b/AutoPkgr/Supporting Files/es.lproj/Credits.rtf index 815dab3..0589cc3 100644 --- a/AutoPkgr/Supporting Files/es.lproj/Credits.rtf +++ b/AutoPkgr/Supporting Files/es.lproj/Credits.rtf @@ -1,5 +1,5 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 -{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} +{\rtf1\ansi\ansicpg1252\cocoartf2513 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \vieww9600\viewh8400\viewkind0 @@ -28,7 +28,7 @@ y Eldon Ahrold\ \f1 \cf0 Desarrollo:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 -\f0 \cf0 Shawn Honsberger y Elliot Jordan \ +\f0 \cf0 Shawn Honsberger \ \ AutoPkgr hace uso de los siguientes proyectos de c\'f3digo abierto:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 diff --git a/AutoPkgr/Supporting Files/fr.lproj/Credits.rtf b/AutoPkgr/Supporting Files/fr.lproj/Credits.rtf index 1781c23..814607f 100644 --- a/AutoPkgr/Supporting Files/fr.lproj/Credits.rtf +++ b/AutoPkgr/Supporting Files/fr.lproj/Credits.rtf @@ -1,5 +1,5 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 -{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} +{\rtf1\ansi\ansicpg1252\cocoartf2513 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 HelveticaNeue-Light;\f1\fnil\fcharset0 HelveticaNeue-Medium;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \vieww10380\viewh9420\viewkind0 @@ -28,7 +28,7 @@ et Eldon Ahrold\ \f1 \cf0 \'c9quipe technique actuelle:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 -\f0 \cf0 Shawn Honsberger et Elliot Jordan\ +\f0 \cf0 Shawn Honsberger\ \ AutoPkgr s\'92appuie sur des biblioth\'e8ques et des projets open-source formidables\'a0:\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\qc\partightenfactor0 From d89739d154ddb93e235ed1f302d25089e53a738b Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 16:17:06 -0700 Subject: [PATCH 16/32] Added munki_installer_choices.xml --- AutoPkgr.xcodeproj/project.pbxproj | 4 ++ .../munki_installer_choices.xml | 38 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 AutoPkgr/Supporting Files/munki_installer_choices.xml diff --git a/AutoPkgr.xcodeproj/project.pbxproj b/AutoPkgr.xcodeproj/project.pbxproj index 43a5663..4dc4818 100644 --- a/AutoPkgr.xcodeproj/project.pbxproj +++ b/AutoPkgr.xcodeproj/project.pbxproj @@ -34,6 +34,7 @@ 295D7358247336C1008B796A /* LGMicrosoftTeamsNotificationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 295D7354247336C1008B796A /* LGMicrosoftTeamsNotificationView.xib */; }; 295D7359247336C1008B796A /* LGMicrosoftTeamsNotificationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 295D7356247336C1008B796A /* LGMicrosoftTeamsNotificationView.m */; }; 295D735C24733742008B796A /* LGMicrosoftTeamsNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 295D735A24733742008B796A /* LGMicrosoftTeamsNotification.m */; }; + 29EFE49F24E6007600FAFA1E /* munki_installer_choices.xml in Resources */ = {isa = PBXBuildFile; fileRef = 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */; }; 5EF53CBDA5C7106F3847E9FD /* libPods-AutoPkgrTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B419CA189BE572FD31F74E0 /* libPods-AutoPkgrTests.a */; }; 6A53625D1988BE59008A949C /* LGTestPort.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A53625C1988BE59008A949C /* LGTestPort.m */; }; 8B1AF8521BED81440013BE37 /* LGFileWaveIntegrationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B1AF8501BED81440013BE37 /* LGFileWaveIntegrationView.m */; }; @@ -329,6 +330,7 @@ 295D7356247336C1008B796A /* LGMicrosoftTeamsNotificationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGMicrosoftTeamsNotificationView.m; sourceTree = ""; }; 295D735A24733742008B796A /* LGMicrosoftTeamsNotification.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGMicrosoftTeamsNotification.m; sourceTree = ""; }; 295D735B24733742008B796A /* LGMicrosoftTeamsNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LGMicrosoftTeamsNotification.h; sourceTree = ""; }; + 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = munki_installer_choices.xml; sourceTree = ""; }; 2C6986FE5B41226735CC0A32 /* Pods-AutoPkgr.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoPkgr.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AutoPkgr/Pods-AutoPkgr.debug.xcconfig"; sourceTree = ""; }; 39CF6FA5E75D62254A994C22 /* libPods-AutoPkgr.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AutoPkgr.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45E6F02919946C3F73535515 /* Pods-AutoPkgrTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoPkgrTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AutoPkgrTests/Pods-AutoPkgrTests.release.xcconfig"; sourceTree = ""; }; @@ -795,6 +797,7 @@ BE3D94331C160F59001763D0 /* web_report.html */, BE3D94361C1627F8001763D0 /* slack_report.md */, BE3D94311C15FCFA001763D0 /* example_data.plist */, + 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */, 1AC69558195B59ED00D2BD81 /* AutoPkgr-Info.plist */, 1AC69559195B59ED00D2BD81 /* InfoPlist.strings */, BE7EF2391B3350E4002037B1 /* Localizable.strings */, @@ -1498,6 +1501,7 @@ 8B8654B31CF6679900B0A3FD /* LGAutoPkgIntegrationView.xib in Resources */, 8B8654EB1CF66E5C00B0A3FD /* LGSlackNotificationView.xib in Resources */, 8B8654951CF6500400B0A3FD /* LGNotificationsViewController.xib in Resources */, + 29EFE49F24E6007600FAFA1E /* munki_installer_choices.xml in Resources */, 1AC69567195B59EE00D2BD81 /* MainMenu.xib in Resources */, BE7EF23B1B3350E4002037B1 /* Localizable.strings in Resources */, BE57AC2A19BA3BBC00BB17B1 /* LocalizableError.strings in Resources */, diff --git a/AutoPkgr/Supporting Files/munki_installer_choices.xml b/AutoPkgr/Supporting Files/munki_installer_choices.xml new file mode 100644 index 0000000..3764cf7 --- /dev/null +++ b/AutoPkgr/Supporting Files/munki_installer_choices.xml @@ -0,0 +1,38 @@ + + + + + + attributeSetting + 1 + choiceAttribute + selected + choiceIdentifier + core + + + attributeSetting + 1 + choiceAttribute + selected + choiceIdentifier + admin + + + attributeSetting + 0 + choiceAttribute + selected + choiceIdentifier + app + + + attributeSetting + 0 + choiceAttribute + selected + choiceIdentifier + launchd + + + From c9a0be79ef13df26abeddd95180238a0849200fd Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 16:18:48 -0700 Subject: [PATCH 17/32] Update LGAutoPkgrHelper.m Added -applyChoiceChangesXML for later use. --- Privileged Helper/LGAutoPkgrHelper.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index 7316492..358c579 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -269,7 +269,7 @@ - (void)installPackageFromPath:(NSString *)path NSTask *task = [NSTask new]; task.launchPath = @"/usr/sbin/installer"; - task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; + task.arguments = @[ @"-verbose", @"-applyChoiceChangesXML", @"-pkg", path, @"-target", @"/" ]; NSPipe *pipe = [NSPipe pipe]; task.standardOutput = pipe; From 99395d4ddc3ec4e623434049af46a77723400ef2 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 16:31:30 -0700 Subject: [PATCH 18/32] Revert "Update LGAutoPkgrHelper.m" This reverts commit c9a0be79ef13df26abeddd95180238a0849200fd. --- Privileged Helper/LGAutoPkgrHelper.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index 358c579..7316492 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -269,7 +269,7 @@ - (void)installPackageFromPath:(NSString *)path NSTask *task = [NSTask new]; task.launchPath = @"/usr/sbin/installer"; - task.arguments = @[ @"-verbose", @"-applyChoiceChangesXML", @"-pkg", path, @"-target", @"/" ]; + task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; NSPipe *pipe = [NSPipe pipe]; task.standardOutput = pipe; From 17b3112012701f773f1b5a5da4a4081d400d37d0 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Thu, 13 Aug 2020 16:53:53 -0700 Subject: [PATCH 19/32] Update LGAutoPkgrHelper.m Added choice changes argument for later. --- Privileged Helper/LGAutoPkgrHelper.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index 7316492..4fc470a 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -270,6 +270,11 @@ - (void)installPackageFromPath:(NSString *)path NSTask *task = [NSTask new]; task.launchPath = @"/usr/sbin/installer"; task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; + + // Search for choice changes xml in bundle + NSString *filePath = [NSString new]; + filePath = [[NSBundle mainBundle] pathForResource:@"munki_installer_choices" ofType:@"xml"]; + task.arguments = @[ @"-applyChoiceChangesXML", filePath ]; NSPipe *pipe = [NSPipe pipe]; task.standardOutput = pipe; From 17dd2326b5680bf713e2159062e7f045b95d5d49 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Fri, 14 Aug 2020 09:59:49 -0700 Subject: [PATCH 20/32] Update LGAutoPkgrHelper.m If we're installing Munki, look for choice changes. --- Privileged Helper/LGAutoPkgrHelper.m | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index 4fc470a..43546fa 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -271,10 +271,14 @@ - (void)installPackageFromPath:(NSString *)path task.launchPath = @"/usr/sbin/installer"; task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; - // Search for choice changes xml in bundle - NSString *filePath = [NSString new]; - filePath = [[NSBundle mainBundle] pathForResource:@"munki_installer_choices" ofType:@"xml"]; - task.arguments = @[ @"-applyChoiceChangesXML", filePath ]; + // If we're installing Munki + if ([path containsString:@"munkitools-"]) + ; { + // Search for choice changes xml in bundle + NSString *filePath = [NSString new]; + filePath = [[NSBundle mainBundle] pathForResource:@"munki_installer_choices" ofType:@"xml"]; + task.arguments = @[ @"-verbose", @"-applyChoiceChangesXML", filePath, @"-pkg", path, @"-target", @"/" ]; + } NSPipe *pipe = [NSPipe pipe]; task.standardOutput = pipe; From eb905f2c81b66edcdc5864bce16b852aec0c5c8b Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Fri, 14 Aug 2020 12:46:04 -0700 Subject: [PATCH 21/32] Added SimpleMDM integration Integration and view files, linked in Interface Builder. Global integrations updated. Folders & Integrations tab renamed to Integrations. --- AutoPkgr.xcodeproj/project.pbxproj | 24 +++ .../LGIntegrationManager.h | 1 + .../LGIntegrationManager.m | 1 + .../Integrations/LGSimpleMDMIntegration.h | 32 ++++ .../Integrations/LGSimpleMDMIntegration.m | 99 ++++++++++ .../Base.lproj/LGSimpleMDMIntegrationView.xib | 93 ++++++++++ .../LGSimpleMDMIntegrationView.h | 24 +++ .../LGSimpleMDMIntegrationView.m | 70 ++++++++ .../LGIntegrationsViewController.xib | 169 +++++++++--------- .../Tab Views/LGIntegrationsViewController.m | 3 +- 10 files changed, 429 insertions(+), 87 deletions(-) create mode 100644 AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h create mode 100644 AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m create mode 100644 AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib create mode 100644 AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.h create mode 100644 AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m diff --git a/AutoPkgr.xcodeproj/project.pbxproj b/AutoPkgr.xcodeproj/project.pbxproj index 4dc4818..5d6bb80 100644 --- a/AutoPkgr.xcodeproj/project.pbxproj +++ b/AutoPkgr.xcodeproj/project.pbxproj @@ -34,6 +34,9 @@ 295D7358247336C1008B796A /* LGMicrosoftTeamsNotificationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 295D7354247336C1008B796A /* LGMicrosoftTeamsNotificationView.xib */; }; 295D7359247336C1008B796A /* LGMicrosoftTeamsNotificationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 295D7356247336C1008B796A /* LGMicrosoftTeamsNotificationView.m */; }; 295D735C24733742008B796A /* LGMicrosoftTeamsNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 295D735A24733742008B796A /* LGMicrosoftTeamsNotification.m */; }; + 2974CFA124E703B400EC0647 /* LGSimpleMDMIntegration.m in Sources */ = {isa = PBXBuildFile; fileRef = 2974CFA024E703B400EC0647 /* LGSimpleMDMIntegration.m */; }; + 2974CFA424E704A600EC0647 /* LGSimpleMDMIntegrationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2974CFA324E704A600EC0647 /* LGSimpleMDMIntegrationView.m */; }; + 2974CFA724E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2974CFA524E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib */; }; 29EFE49F24E6007600FAFA1E /* munki_installer_choices.xml in Resources */ = {isa = PBXBuildFile; fileRef = 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */; }; 5EF53CBDA5C7106F3847E9FD /* libPods-AutoPkgrTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B419CA189BE572FD31F74E0 /* libPods-AutoPkgrTests.a */; }; 6A53625D1988BE59008A949C /* LGTestPort.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A53625C1988BE59008A949C /* LGTestPort.m */; }; @@ -330,6 +333,11 @@ 295D7356247336C1008B796A /* LGMicrosoftTeamsNotificationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGMicrosoftTeamsNotificationView.m; sourceTree = ""; }; 295D735A24733742008B796A /* LGMicrosoftTeamsNotification.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGMicrosoftTeamsNotification.m; sourceTree = ""; }; 295D735B24733742008B796A /* LGMicrosoftTeamsNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LGMicrosoftTeamsNotification.h; sourceTree = ""; }; + 2974CF9F24E703B400EC0647 /* LGSimpleMDMIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LGSimpleMDMIntegration.h; sourceTree = ""; }; + 2974CFA024E703B400EC0647 /* LGSimpleMDMIntegration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGSimpleMDMIntegration.m; sourceTree = ""; }; + 2974CFA224E704A600EC0647 /* LGSimpleMDMIntegrationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LGSimpleMDMIntegrationView.h; sourceTree = ""; }; + 2974CFA324E704A600EC0647 /* LGSimpleMDMIntegrationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGSimpleMDMIntegrationView.m; sourceTree = ""; }; + 2974CFA624E704DC00EC0647 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LGSimpleMDMIntegrationView.xib; sourceTree = ""; }; 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = munki_installer_choices.xml; sourceTree = ""; }; 2C6986FE5B41226735CC0A32 /* Pods-AutoPkgr.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoPkgr.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AutoPkgr/Pods-AutoPkgr.debug.xcconfig"; sourceTree = ""; }; 39CF6FA5E75D62254A994C22 /* libPods-AutoPkgr.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AutoPkgr.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1176,6 +1184,9 @@ 8B8654BC1CF6695F00B0A3FD /* LGFileWaveIntegrationView.xib */, BE32B0351B2735DF0071778B /* LGGitIntegrationView.h */, BE32B0361B2735DF0071778B /* LGGitIntegrationView.m */, + 2974CFA224E704A600EC0647 /* LGSimpleMDMIntegrationView.h */, + 2974CFA324E704A600EC0647 /* LGSimpleMDMIntegrationView.m */, + 2974CFA524E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib */, 8BD9E7961C8E296A00BCB399 /* LGVirusTotalAnalyzerIntegrationView.h */, 8BD9E7971C8E296A00BCB399 /* LGVirusTotalAnalyzerIntegrationView.m */, 8B8654C31CF669A100B0A3FD /* LGVirusTotalAnalyzerIntegrationView.xib */, @@ -1328,6 +1339,8 @@ BE2337C91B3E42EC00256F85 /* LGMacPatchIntegration.m */, BE4DD53A1B11740900854FD8 /* LGMunkiIntegration.h */, BE4DD53D1B11743700854FD8 /* LGMunkiIntegration.m */, + 2974CF9F24E703B400EC0647 /* LGSimpleMDMIntegration.h */, + 2974CFA024E703B400EC0647 /* LGSimpleMDMIntegration.m */, 8BD9E78D1C8E16F000BCB399 /* LGVirusTotalAnalyzerIntegration.h */, 8BD9E78E1C8E16F000BCB399 /* LGVirusTotalAnalyzerIntegration.m */, ); @@ -1482,6 +1495,7 @@ 8B8654CF1CF66B8E00B0A3FD /* LGJSSImporterIntegrationView.xib in Resources */, 8B8654871CF64CA400B0A3FD /* LGRecipeReposViewController.xib in Resources */, 8B8655001CF66F7400B0A3FD /* LGRecipeSearchResultsPanel.xib in Resources */, + 2974CFA724E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib in Resources */, 8B8655151CF6719F00B0A3FD /* LGViewWindowController.xib in Resources */, 8B8654801CF64A9600B0A3FD /* LGInstallViewController.xib in Resources */, 8B8654C81CF66B0F00B0A3FD /* LGGitIntegrationView.xib in Resources */, @@ -2452,6 +2466,7 @@ BEEFE6CA1AEC760700882C89 /* LGAutoPkgIntegration.m in Sources */, BE59D8971B61998D0037F3CA /* BSDProcessInfo.m in Sources */, BEC1258919F046FA006696C4 /* main.m in Sources */, + 2974CFA124E703B400EC0647 /* LGSimpleMDMIntegration.m in Sources */, BED136B71AC3BE04003EBF0F /* NSArray+html_report.m in Sources */, BEEFE6BB1AE9E8A600882C89 /* LGLogger.m in Sources */, BE4DD53E1B11743700854FD8 /* LGMunkiIntegration.m in Sources */, @@ -2474,6 +2489,7 @@ BE344F551ABFBEAB00500AAE /* LGAutoPkgReport.m in Sources */, BE38EA8E1B0CFE68009FCBEB /* LGInstallViewController.m in Sources */, 295D735C24733742008B796A /* LGMicrosoftTeamsNotification.m in Sources */, + 2974CFA424E704A600EC0647 /* LGSimpleMDMIntegrationView.m in Sources */, BE38EA951B0CFE95009FCBEB /* LGRecipeReposViewController.m in Sources */, 1AC86D3D195E0AC6006FDD2B /* LGHostInfo.m in Sources */, BEC1258719F0465F006696C4 /* LGAutoPkgTask.m in Sources */, @@ -2697,6 +2713,14 @@ path = .; sourceTree = ""; }; + 2974CFA524E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib */ = { + isa = PBXVariantGroup; + children = ( + 2974CFA624E704DC00EC0647 /* Base */, + ); + name = LGSimpleMDMIntegrationView.xib; + sourceTree = ""; + }; 8B8654821CF64A9600B0A3FD /* LGInstallViewController.xib */ = { isa = PBXVariantGroup; children = ( diff --git a/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.h b/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.h index 86ec6ac..290e5de 100644 --- a/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.h +++ b/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.h @@ -28,6 +28,7 @@ #import "LGLANrevIntegration.h" #import "LGMacPatchIntegration.h" #import "LGMunkiIntegration.h" +#import "LGSimpleMDMIntegration.h" #import "LGVirusTotalAnalyzerIntegration.h" @class LGIntegration; diff --git a/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.m b/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.m index 0e24365..ac397b7 100644 --- a/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.m +++ b/AutoPkgr/Models/Integrations/Integration Manager/LGIntegrationManager.m @@ -44,6 +44,7 @@ + (void)load [LGLANrevIntegration class], [LGMacPatchIntegration class], [LGMunkiIntegration class], + [LGSimpleMDMIntegration class], [LGVirusTotalAnalyzerIntegration class], ]; diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h new file mode 100644 index 0000000..3e52fa8 --- /dev/null +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h @@ -0,0 +1,32 @@ +// +// LGSimpleMDMIntegration.h +// AutoPkgr +// +// Copyright 2020 Shawn Honsberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "LGDefaults.h" +#import "LGIntegration+Protocols.h" +#import "LGIntegration.h" + +@interface LGSimpleMDMIntegration : LGIntegration + +@end + +@interface LGSimpleMDMDefaults : LGDefaults + +@property (copy, nonatomic) NSString *SIMPLEMDM_API_KEY; + +@end diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m new file mode 100644 index 0000000..c858a63 --- /dev/null +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m @@ -0,0 +1,99 @@ +// +// LGSimpleMDMIntegration.m +// AutoPkgr +// +// Copyright 2020 Shawn Honsberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "LGSimpleMDMIntegration.h" + +@implementation LGSimpleMDMIntegration + ++ (NSString *)name +{ + return @"SimpleMDM"; +} + ++ (NSString *)credits +{ + return @"Taylor Boyko\nhttps://github.com/SimpleMDM/munki-plugin"; +} + ++ (NSArray *)components +{ + return nil; +} + ++ (NSString *)defaultRepository +{ + return @"https://github.com/SimpleMDM/munki-plugin.git"; +} + ++ (BOOL)isUninstallable +{ + return YES; +} + ++ (NSString *)summaryResultKey +{ + return @"simplmdm_summary_result"; +} + +/** + * Any custom install actions that need to be taken. + */ +//- (void)customInstallActions:(void (^)(NSError *error))reply +//{ + +// LGDefaults *defaults = [[LGDefaults alloc] init]; +// NSMutableSet *postProcessors = [[defaults objectForKey:@"PostProcessors"] mutableCopy] ?: [NSMutableSet new]; + +// [postProcessors addObject:@"io.github.hjuutilainen.VirusTotalAnalyzer/VirusTotalAnalyzer"]; + +// [defaults setObject:[postProcessors allObjects] forKey:@"PostProcessors"]; + +// reply(nil); +//} + +//- (void)customUninstallActions:(void (^)(NSError *))reply +//{ +// LGSimpleMDMDefaults *defaults = [LGSimpleMDMDefaults new]; +// // Set SimpleMDM preferences back to their default settings. +// defaults.SIMPLEMDM_API_KEY = nil; + +// NSMutableArray *postProcessors = [[defaults objectForKey:@"PostProcessors"] mutableCopy]; +// [postProcessors removeObject:@"io.github.hjuutilainen.VirusTotalAnalyzer/VirusTotalAnalyzer"]; +// [defaults setObject:postProcessors forKey:@"PostProcessors"]; + +// reply(nil); +//} + +@end + +@implementation LGSimpleMDMDefaults + +// SIMPLEMDM_API_KEY + +- (NSString *)SIMPLEMDM_API_KEY +{ + return [self autoPkgDomainObject:NSStringFromSelector(@selector(SIMPLEMDM_API_KEY))]; +} + +- (void)setSIMPLEMDM_API_KEY:(NSString *)SIMPLEMDM_API_KEY +{ + [self setAutoPkgDomainObject:SIMPLEMDM_API_KEY forKey:NSStringFromSelector(@selector(SIMPLEMDM_API_KEY))]; +} + +@end diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib new file mode 100644 index 0000000..1ccdcac --- /dev/null +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.h b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.h new file mode 100644 index 0000000..370f038 --- /dev/null +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.h @@ -0,0 +1,24 @@ +// +// LGSimpleMDMIntegrationView.h +// AutoPkgr +// +// Copyright 2020 Shawn Honsberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import "LGBaseIntegrationViewController.h" + +@interface LGSimpleMDMIntegrationView : LGBaseIntegrationViewController + +@end diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m new file mode 100644 index 0000000..ef3ca3e --- /dev/null +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m @@ -0,0 +1,70 @@ +// +// LGSimpleMDMIntegrationView.m +// AutoPkgr +// +// Copyright 2020 Shawn Honsberger +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + + +#import "LGSimpleMDMIntegration.h" +#import "LGSimpleMDMIntegrationView.h" + +#import "NSTextField+safeStringValue.h" +@interface LGSimpleMDMIntegrationView () + +@property (weak) IBOutlet NSTextField *SimpleMDMApiKeyTF; + +@property (strong) LGSimpleMDMDefaults *defaults; +@property BOOL customTokenEnabled; + +@end + +@implementation LGSimpleMDMIntegrationView + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do view setup here. +} + +- (void)awakeFromNib +{ + _defaults = [[LGSimpleMDMDefaults alloc] init]; + + _SimpleMDMApiKeyTF.delegate = self; + _SimpleMDMApiKeyTF.safe_stringValue = _defaults.SIMPLEMDM_API_KEY; + +} + +- (IBAction)tokenTypeChanged:(NSMatrix *)matrix +{ + if (matrix.selectedRow == 0) { + _defaults.SIMPLEMDM_API_KEY = nil; + } + else { + _defaults.SIMPLEMDM_API_KEY = _SimpleMDMApiKeyTF.stringValue; + } +} + +- (void)controlTextDidChange:(NSNotification *)notification +{ + + // SIMPLEMDM_API_KEY + if ([notification.object isEqualTo:_SimpleMDMApiKeyTF]) { + _defaults.SIMPLEMDM_API_KEY = [notification.object stringValue]; + } +} +@end + diff --git a/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGIntegrationsViewController.xib b/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGIntegrationsViewController.xib index 862be0c..cddaa33 100644 --- a/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGIntegrationsViewController.xib +++ b/AutoPkgr/Views-Controllers-XIB/Tab Views/Base.lproj/LGIntegrationsViewController.xib @@ -1,9 +1,9 @@ - - + + - - + + @@ -23,14 +23,14 @@ - + - - + + - - + + @@ -40,11 +40,11 @@ - - + + - + @@ -52,8 +52,8 @@ - - - - + + @@ -89,11 +89,11 @@ - - + + - + @@ -101,8 +101,8 @@ - - - - + + - + @@ -139,8 +139,8 @@ - - - - + + @@ -177,62 +177,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - + - - + + - @@ -247,14 +246,14 @@ - @@ -271,13 +270,14 @@ - + + @@ -305,27 +305,24 @@ - - - - - - - - - + + + + + - + + NSAllRomanInputSourcesLocaleIdentifier + + - + - + - - From fb8eb23c51ba6d85e31ad6648ba5977279b0babf Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Mon, 17 Aug 2020 10:08:34 -0700 Subject: [PATCH 25/32] Added secureTextField constraints. --- AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- .../Base.lproj/LGSimpleMDMIntegrationView.xib | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index a7c2b5e..fbbc56a 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1471 + 1472 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib index 90fbc73..91a27c3 100644 --- a/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib @@ -40,17 +40,17 @@ - + - + - + @@ -59,9 +59,11 @@ - - - + + + + + @@ -82,7 +84,9 @@ + + From 5aebe48b5850eccf67dfa6952915a72e37a2599a Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 18 Aug 2020 09:20:04 -0700 Subject: [PATCH 26/32] Added integration options --- .../Integrations/LGSimpleMDMIntegration.h | 5 +++ .../Integrations/LGSimpleMDMIntegration.m | 43 +++++++------------ Privileged Helper/LGAutoPkgrHelper.m | 9 ++-- 3 files changed, 24 insertions(+), 33 deletions(-) diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h index 3e52fa8..5c59ac6 100644 --- a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h @@ -30,3 +30,8 @@ @property (copy, nonatomic) NSString *SIMPLEMDM_API_KEY; @end + +@interface NSString (ShellExecution) +- (NSString*)runAsCommand; + +@end diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m index 85ad6a8..f4520fa 100644 --- a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m @@ -51,44 +51,31 @@ + (NSString *)summaryResultKey return @"simplmdm_summary_result"; } -/** - * Any custom install actions that need to be taken. - */ -//- (void)customInstallActions:(void (^)(NSError *error))reply -//{ - -// LGDefaults *defaults = [[LGDefaults alloc] init]; -// NSMutableSet *postProcessors = [[defaults objectForKey:@"PostProcessors"] mutableCopy] ?: [NSMutableSet new]; - -// [postProcessors addObject:@"io.github.hjuutilainen.VirusTotalAnalyzer/VirusTotalAnalyzer"]; - -// [defaults setObject:[postProcessors allObjects] forKey:@"PostProcessors"]; - -// reply(nil); -//} +@end -//- (void)customUninstallActions:(void (^)(NSError *))reply -//{ -// LGSimpleMDMDefaults *defaults = [LGSimpleMDMDefaults new]; -// // Set SimpleMDM preferences back to their default settings. -// defaults.SIMPLEMDM_API_KEY = nil; +@implementation LGSimpleMDMDefaults -// NSMutableArray *postProcessors = [[defaults objectForKey:@"PostProcessors"] mutableCopy]; -// [postProcessors removeObject:@"io.github.hjuutilainen.VirusTotalAnalyzer/VirusTotalAnalyzer"]; -// [defaults setObject:postProcessors forKey:@"PostProcessors"]; +// SIMPLEMDM_API_KEY -// reply(nil); -//} +- (NSString*)runAsCommand { + NSPipe* pipe = [NSPipe pipe]; -@end + NSTask* task = [[NSTask alloc] init]; + [task setLaunchPath: @"/bin/bash"]; + [task setArguments:@[@"-c", [NSString stringWithFormat:@"export SIMPLEMDM_API_KEY=%@", self]]]; + [task setStandardOutput:pipe]; -@implementation LGSimpleMDMDefaults + NSFileHandle* file = [pipe fileHandleForReading]; + [task launch]; -// SIMPLEMDM_API_KEY + return [[NSString alloc] initWithData:[file readDataToEndOfFile] encoding:NSUTF8StringEncoding]; +} - (NSString *)SIMPLEMDM_API_KEY { return [self autoPkgDomainObject:NSStringFromSelector(@selector(SIMPLEMDM_API_KEY))]; + NSString *output = [NSStringFromSelector(@selector(SIMPLEMDM_API_KEY)) runAsCommand]; + return output; } - (void)setSIMPLEMDM_API_KEY:(NSString *)SIMPLEMDM_API_KEY diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index 43546fa..c3ed9ed 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -269,15 +269,14 @@ - (void)installPackageFromPath:(NSString *)path NSTask *task = [NSTask new]; task.launchPath = @"/usr/sbin/installer"; - task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; - + NSString *filePath = [NSString new]; // If we're installing Munki - if ([path containsString:@"munkitools-"]) - ; { + if ([path containsString:@"munkitools-"]) { // Search for choice changes xml in bundle - NSString *filePath = [NSString new]; filePath = [[NSBundle mainBundle] pathForResource:@"munki_installer_choices" ofType:@"xml"]; task.arguments = @[ @"-verbose", @"-applyChoiceChangesXML", filePath, @"-pkg", path, @"-target", @"/" ]; + } else { + task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; } NSPipe *pipe = [NSPipe pipe]; From 5a9afb19038366520f6b1845ecdd4445949210b7 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Fri, 11 Sep 2020 16:39:44 -0700 Subject: [PATCH 27/32] Completed SimpleMDM integration Defaults, Constants, Integration, Integration View, and corrections. --- AutoPkgr.xcodeproj/project.pbxproj | 8 +- .../xcshareddata/xcschemes/AutoPkgr.xcscheme | 78 ++++++++++++++++++ .../Integrations/LGSimpleMDMIntegration.h | 8 +- .../Integrations/LGSimpleMDMIntegration.m | 80 +++++++++++++------ .../munkichoices.xml} | 0 AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- AutoPkgr/Utility/LGConstants.h | 1 + AutoPkgr/Utility/LGConstants.m | 1 + AutoPkgr/Utility/LGDefaults.h | 4 + AutoPkgr/Utility/LGDefaults.m | 15 ++++ .../Base.lproj/LGSimpleMDMIntegrationView.xib | 76 +++++++++--------- .../LGSimpleMDMIntegrationView.m | 17 +++- Privileged Helper/LGAutoPkgrHelper.m | 10 +-- 13 files changed, 217 insertions(+), 83 deletions(-) create mode 100644 AutoPkgr.xcodeproj/xcshareddata/xcschemes/AutoPkgr.xcscheme rename AutoPkgr/{Supporting Files/munki_installer_choices.xml => Resources/munkichoices.xml} (100%) diff --git a/AutoPkgr.xcodeproj/project.pbxproj b/AutoPkgr.xcodeproj/project.pbxproj index 5d6bb80..dd69611 100644 --- a/AutoPkgr.xcodeproj/project.pbxproj +++ b/AutoPkgr.xcodeproj/project.pbxproj @@ -37,7 +37,7 @@ 2974CFA124E703B400EC0647 /* LGSimpleMDMIntegration.m in Sources */ = {isa = PBXBuildFile; fileRef = 2974CFA024E703B400EC0647 /* LGSimpleMDMIntegration.m */; }; 2974CFA424E704A600EC0647 /* LGSimpleMDMIntegrationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2974CFA324E704A600EC0647 /* LGSimpleMDMIntegrationView.m */; }; 2974CFA724E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2974CFA524E704DC00EC0647 /* LGSimpleMDMIntegrationView.xib */; }; - 29EFE49F24E6007600FAFA1E /* munki_installer_choices.xml in Resources */ = {isa = PBXBuildFile; fileRef = 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */; }; + 29E9D06525019A56007D9509 /* munkichoices.xml in Resources */ = {isa = PBXBuildFile; fileRef = 29E9D06425019A55007D9509 /* munkichoices.xml */; }; 5EF53CBDA5C7106F3847E9FD /* libPods-AutoPkgrTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B419CA189BE572FD31F74E0 /* libPods-AutoPkgrTests.a */; }; 6A53625D1988BE59008A949C /* LGTestPort.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A53625C1988BE59008A949C /* LGTestPort.m */; }; 8B1AF8521BED81440013BE37 /* LGFileWaveIntegrationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B1AF8501BED81440013BE37 /* LGFileWaveIntegrationView.m */; }; @@ -338,7 +338,7 @@ 2974CFA224E704A600EC0647 /* LGSimpleMDMIntegrationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LGSimpleMDMIntegrationView.h; sourceTree = ""; }; 2974CFA324E704A600EC0647 /* LGSimpleMDMIntegrationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LGSimpleMDMIntegrationView.m; sourceTree = ""; }; 2974CFA624E704DC00EC0647 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LGSimpleMDMIntegrationView.xib; sourceTree = ""; }; - 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = munki_installer_choices.xml; sourceTree = ""; }; + 29E9D06425019A55007D9509 /* munkichoices.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = munkichoices.xml; sourceTree = ""; }; 2C6986FE5B41226735CC0A32 /* Pods-AutoPkgr.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoPkgr.debug.xcconfig"; path = "Pods/Target Support Files/Pods-AutoPkgr/Pods-AutoPkgr.debug.xcconfig"; sourceTree = ""; }; 39CF6FA5E75D62254A994C22 /* libPods-AutoPkgr.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AutoPkgr.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45E6F02919946C3F73535515 /* Pods-AutoPkgrTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AutoPkgrTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-AutoPkgrTests/Pods-AutoPkgrTests.release.xcconfig"; sourceTree = ""; }; @@ -805,7 +805,6 @@ BE3D94331C160F59001763D0 /* web_report.html */, BE3D94361C1627F8001763D0 /* slack_report.md */, BE3D94311C15FCFA001763D0 /* example_data.plist */, - 29EFE49E24E6007600FAFA1E /* munki_installer_choices.xml */, 1AC69558195B59ED00D2BD81 /* AutoPkgr-Info.plist */, 1AC69559195B59ED00D2BD81 /* InfoPlist.strings */, BE7EF2391B3350E4002037B1 /* Localizable.strings */, @@ -858,6 +857,7 @@ 1AC98423195DF6270071CAB3 /* Resources */ = { isa = PBXGroup; children = ( + 29E9D06425019A55007D9509 /* munkichoices.xml */, 1AC69568195B59EE00D2BD81 /* Images.xcassets */, 1A2C7FAC19CC9F8300CFF472 /* scripts */, 8BB217F519709A2C00EF8B93 /* AutoPkgrIcon.png */, @@ -1509,13 +1509,13 @@ 8B86550E1CF670DA00B0A3FD /* LGSelectNotificationsWindowController.xib in Resources */, 8B8654F91CF66F1800B0A3FD /* LGJSSDistributionPointsPrefPanel.xib in Resources */, 8B86548E1CF64EE500B0A3FD /* LGScheduleViewController.xib in Resources */, + 29E9D06525019A56007D9509 /* munkichoices.xml in Resources */, 8B8654F21CF66EB500B0A3FD /* LGTemplateRenderWindowController.xib in Resources */, 8B8654A51CF665DF00B0A3FD /* LGAbsoluteManageIntegrationView.xib in Resources */, 295D7358247336C1008B796A /* LGMicrosoftTeamsNotificationView.xib in Resources */, 8B8654B31CF6679900B0A3FD /* LGAutoPkgIntegrationView.xib in Resources */, 8B8654EB1CF66E5C00B0A3FD /* LGSlackNotificationView.xib in Resources */, 8B8654951CF6500400B0A3FD /* LGNotificationsViewController.xib in Resources */, - 29EFE49F24E6007600FAFA1E /* munki_installer_choices.xml in Resources */, 1AC69567195B59EE00D2BD81 /* MainMenu.xib in Resources */, BE7EF23B1B3350E4002037B1 /* Localizable.strings in Resources */, BE57AC2A19BA3BBC00BB17B1 /* LocalizableError.strings in Resources */, diff --git a/AutoPkgr.xcodeproj/xcshareddata/xcschemes/AutoPkgr.xcscheme b/AutoPkgr.xcodeproj/xcshareddata/xcschemes/AutoPkgr.xcscheme new file mode 100644 index 0000000..5a5923e --- /dev/null +++ b/AutoPkgr.xcodeproj/xcshareddata/xcschemes/AutoPkgr.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h index 5c59ac6..56fb390 100644 --- a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.h @@ -18,6 +18,7 @@ // #import "LGDefaults.h" +#import "LGConstants.h" #import "LGIntegration+Protocols.h" #import "LGIntegration.h" @@ -28,10 +29,7 @@ @interface LGSimpleMDMDefaults : LGDefaults @property (copy, nonatomic) NSString *SIMPLEMDM_API_KEY; - -@end - -@interface NSString (ShellExecution) -- (NSString*)runAsCommand; +@property (copy, nonatomic) NSString *simpleMDMDomainObject; +@property (copy, nonatomic) NSString *setSimpleMDMDomainObject; @end diff --git a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m index f4520fa..9677c54 100644 --- a/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m +++ b/AutoPkgr/Models/Integrations/LGSimpleMDMIntegration.m @@ -17,13 +17,23 @@ // limitations under the License. // +#import "LGIntegration+Protocols.h" #import "LGSimpleMDMIntegration.h" +#import + +// Define the protocols you intend to conform to. +@interface LGSimpleMDMIntegration () + +@end @implementation LGSimpleMDMIntegration +@synthesize installedVersion = _installedVersion; +#pragma mark - Class overrides + (NSString *)name { - return @"SimpleMDM Plugin"; + return @"SimpleMDM plugin"; } + (NSString *)credits @@ -31,9 +41,9 @@ + (NSString *)credits return @"Taylor Boyko\nhttps://github.com/SimpleMDM/munki-plugin"; } -+ (NSArray *)components ++ (NSString *)gitHubURL { - return nil; + return @"https://api.github.com/repos/SimpleMDM/munki-plugin/releases"; } + (NSString *)defaultRepository @@ -41,46 +51,70 @@ + (NSString *)defaultRepository return @"https://github.com/SimpleMDM/munki-plugin.git"; } ++ (NSString *)binary +{ + return @"/usr/local/munki/munkilib/munkirepo/SimpleMDMRepo.py"; +} + ++ (NSArray *)components +{ + return @[ + [self binary], + @"/usr/local/simplemdm/munki-plugin/config.plist", + ]; +} + ++ (NSArray *)packageIdentifiers +{ + return @[ @"com.simplemdm.munki_plugin" ]; +} + + (BOOL)isUninstallable { - return YES; + return NO; } + (NSString *)summaryResultKey { - return @"simplmdm_summary_result"; + return @"simplemdm_summary_result"; +} +#pragma mark - Instance overrides +- (NSString *)installedVersion +{ + return [NSDictionary dictionaryWithContentsOfFile:@"/private/var/db/receipts/com.simplemdm.munki_plugin.plist"][@"PackageVersion"]; } -@end - -@implementation LGSimpleMDMDefaults +/** + * Any custom install actions that need to be taken. + */ +- (void)customInstallActions:(void (^)(NSError *error))reply +{ + reply(nil); +} -// SIMPLEMDM_API_KEY +- (void)customUninstallActions:(void (^)(NSError *))reply +{ + LGSimpleMDMDefaults *defaults = [LGSimpleMDMDefaults new]; + // Set preferences back to their default settings. + defaults.SIMPLEMDM_API_KEY = nil; -- (NSString*)runAsCommand { - NSPipe* pipe = [NSPipe pipe]; + reply(nil); +} - NSTask* task = [[NSTask alloc] init]; - [task setLaunchPath: @"/bin/bash"]; - [task setArguments:@[@"-c", [NSString stringWithFormat:@"export SIMPLEMDM_API_KEY=%@", self]]]; - [task setStandardOutput:pipe]; +@end - NSFileHandle* file = [pipe fileHandleForReading]; - [task launch]; +@implementation LGSimpleMDMDefaults - return [[NSString alloc] initWithData:[file readDataToEndOfFile] encoding:NSUTF8StringEncoding]; -} +// SIMPLEMDM_API_KEY - (NSString *)SIMPLEMDM_API_KEY { - return [self autoPkgDomainObject:NSStringFromSelector(@selector(SIMPLEMDM_API_KEY))]; - NSString *output = [NSStringFromSelector(@selector(SIMPLEMDM_API_KEY)) runAsCommand]; - return output; + return [self simpleMDMDomainObject:NSStringFromSelector(@selector(key))]; } - (void)setSIMPLEMDM_API_KEY:(NSString *)SIMPLEMDM_API_KEY { - [self setAutoPkgDomainObject:SIMPLEMDM_API_KEY forKey:NSStringFromSelector(@selector(SIMPLEMDM_API_KEY))]; + [self setSimpleMDMDomainObject:SIMPLEMDM_API_KEY forKey:NSStringFromSelector(@selector(key))]; } @end diff --git a/AutoPkgr/Supporting Files/munki_installer_choices.xml b/AutoPkgr/Resources/munkichoices.xml similarity index 100% rename from AutoPkgr/Supporting Files/munki_installer_choices.xml rename to AutoPkgr/Resources/munkichoices.xml diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index fbbc56a..ad0c41a 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1472 + 1474 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion diff --git a/AutoPkgr/Utility/LGConstants.h b/AutoPkgr/Utility/LGConstants.h index c86b607..5eb8041 100755 --- a/AutoPkgr/Utility/LGConstants.h +++ b/AutoPkgr/Utility/LGConstants.h @@ -21,6 +21,7 @@ #pragma mark - App Names extern NSString *const kLGApplicationName; extern NSString *const kLGAutoPkgPreferenceDomain; +extern NSString *const kLGSimpleMDMPreferenceDomain; extern NSString *const kLGAutoPkgrPreferenceDomain; extern NSString *const kLGAutoPkgrHelperToolName; extern NSString *const kLGAutoPkgrLaunchDaemonPlist; diff --git a/AutoPkgr/Utility/LGConstants.m b/AutoPkgr/Utility/LGConstants.m index a44b109..cfbfdc5 100755 --- a/AutoPkgr/Utility/LGConstants.m +++ b/AutoPkgr/Utility/LGConstants.m @@ -23,6 +23,7 @@ #pragma mark - App Names NSString *const kLGApplicationName = @"AutoPkgr"; NSString *const kLGAutoPkgPreferenceDomain = @"com.github.autopkg"; +NSString *const kLGSimpleMDMPreferenceDomain = @"/usr/local/simplemdm/munki-plugin/config.plist"; NSString *const kLGAutoPkgrPreferenceDomain = @"com.lindegroup.AutoPkgr"; NSString *const kLGAutoPkgrHelperToolName = @"com.lindegroup.AutoPkgr.helper"; NSString *const kLGAutoPkgrLaunchDaemonPlist = @"com.lindegroup.AutoPkgr.schedule"; diff --git a/AutoPkgr/Utility/LGDefaults.h b/AutoPkgr/Utility/LGDefaults.h index 6f1f54c..70ceb64 100644 --- a/AutoPkgr/Utility/LGDefaults.h +++ b/AutoPkgr/Utility/LGDefaults.h @@ -87,6 +87,10 @@ typedef NS_OPTIONS(NSInteger, LGReportItems) { - (id)autoPkgDomainObject:(NSString *)key; - (void)setAutoPkgDomainObject:(id)object forKey:(NSString *)key; +#pragma mark - SimpleMDM Accessor methods +- (id)simpleMDMDomainObject:(NSString *)key; +- (void)setSimpleMDMDomainObject:(id)object forKey:(NSString *)key; + #pragma Class Methods + (BOOL)fixRelativePathsInAutoPkgDefaults:(NSError **)error neededFixing:(NSInteger *)neededFixing; diff --git a/AutoPkgr/Utility/LGDefaults.m b/AutoPkgr/Utility/LGDefaults.m index cd96beb..f4db60e 100644 --- a/AutoPkgr/Utility/LGDefaults.m +++ b/AutoPkgr/Utility/LGDefaults.m @@ -318,6 +318,21 @@ - (void)setAutoPkgDomainObject:(id)object forKey:(NSString *)key (__bridge CFStringRef)(kLGAutoPkgPreferenceDomain)); } +#pragma mark - CFPrefs +- (id)simpleMDMDomainObject:(NSString *)key +{ + id value = CFBridgingRelease(CFPreferencesCopyAppValue((__bridge CFStringRef)(key), + (__bridge CFStringRef)(kLGSimpleMDMPreferenceDomain))); + return value; +} + +- (void)setSimpleMDMDomainObject:(id)object forKey:(NSString *)key +{ + CFPreferencesSetAppValue((__bridge CFStringRef)(key), + (__bridge CFTypeRef)(object), + (__bridge CFStringRef)(kLGSimpleMDMPreferenceDomain)); +} + #pragma mark - Class Methods + (NSString *)formattedDate:(NSDate *)date { diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib index 91a27c3..3d85bd8 100644 --- a/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/Base.lproj/LGSimpleMDMIntegrationView.xib @@ -1,8 +1,8 @@ - + - + @@ -18,76 +18,74 @@ - - - - - + + - - + + + + + + + + + + + NSAllRomanInputSourcesLocaleIdentifier + + + + + + + + + + + + - - + + - + - + - + - - + + - - - - - - - - - - - NSAllRomanInputSourcesLocaleIdentifier - - - - - - - - - - - + + - + diff --git a/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m index ef3ca3e..45f1aab 100644 --- a/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m +++ b/AutoPkgr/Views-Controllers-XIB/Integration Views/LGSimpleMDMIntegrationView.m @@ -21,12 +21,19 @@ #import "LGSimpleMDMIntegration.h" #import "LGSimpleMDMIntegrationView.h" +#import "LGDefaults.h" +#import "LGConstants.h" +#import "LGAutoPkgTask.h" +#import "LGAutopkgr.h" +#import "LGInstaller.h" + #import "NSTextField+safeStringValue.h" @interface LGSimpleMDMIntegrationView () @property (weak) IBOutlet NSTextField *SimpleMDMApiKeyTF; -@property (strong) LGSimpleMDMDefaults *defaults; +@property (nonatomic, strong) LGSimpleMDMDefaults *defaults; +@property (nonatomic, strong) LGSimpleMDMDefaults *SIMPLEMDM_API_KEY; @property BOOL customTokenEnabled; @end @@ -66,5 +73,11 @@ - (void)controlTextDidChange:(NSNotification *)notification _defaults.SIMPLEMDM_API_KEY = [notification.object stringValue]; } } -@end +@synthesize description; + +@synthesize hash; + +@synthesize superclass; + +@end diff --git a/Privileged Helper/LGAutoPkgrHelper.m b/Privileged Helper/LGAutoPkgrHelper.m index c3ed9ed..7316492 100644 --- a/Privileged Helper/LGAutoPkgrHelper.m +++ b/Privileged Helper/LGAutoPkgrHelper.m @@ -269,15 +269,7 @@ - (void)installPackageFromPath:(NSString *)path NSTask *task = [NSTask new]; task.launchPath = @"/usr/sbin/installer"; - NSString *filePath = [NSString new]; - // If we're installing Munki - if ([path containsString:@"munkitools-"]) { - // Search for choice changes xml in bundle - filePath = [[NSBundle mainBundle] pathForResource:@"munki_installer_choices" ofType:@"xml"]; - task.arguments = @[ @"-verbose", @"-applyChoiceChangesXML", filePath, @"-pkg", path, @"-target", @"/" ]; - } else { - task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; - } + task.arguments = @[ @"-verbose", @"-pkg", path, @"-target", @"/" ]; NSPipe *pipe = [NSPipe pipe]; task.standardOutput = pipe; From cd36bbe8f61852bb0292fae7633bc88fb147e082 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Mon, 14 Sep 2020 16:28:53 -0700 Subject: [PATCH 28/32] Update AutoPkgr-Info.plist Auto update of build number. --- AutoPkgr/Supporting Files/AutoPkgr-Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist index ad0c41a..bbe50d0 100755 --- a/AutoPkgr/Supporting Files/AutoPkgr-Info.plist +++ b/AutoPkgr/Supporting Files/AutoPkgr-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1474 + 1475 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion From 3e0ae6a628029a4ea197b3a214625b033fdbda6d Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Mon, 14 Sep 2020 16:47:17 -0700 Subject: [PATCH 29/32] Update CHANGELOG.md --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87ccfcb..2cf3e8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file. This projec ## [Unreleased](unreleased) +## [1.5.5] - 2020-09-22 + +### Added +- AutoPkgr now integrates with the [SimpleMDM munki repo plugin](https://github.com/SimpleMDM/munki-plugin). Big thanks to [@tboyko](https://github.com/tboyko) for a great collaboration! +### Changed +- Attention Munki Users: In order to eliminate confusion, AutoPkgr will no longer automatically add the MakeCatalogs.munki recipe to the end of your recipe list. If you would like to add it, you should create an override of the MakeCatalogs.munki recipe and add it to your recipe list. Since the introduction of [recipe trust information](https://github.com/autopkg/autopkg/wiki/Autopkg-and-recipe-parent-trust-info) in AutoPkg 1.0, we recommend that you create an override of MakeCatalogs.munki, instead of running the recipe itself. Make sure to check the box to include the MakeCatalogs.munki in your schedule. It will no longer be included automatically. +- Updated the Folders & Integrations tab to "Integrations." +- The minimum macOS build to run AutoPkgr is now macOS 10.13. It is recommended to run at least macOS 10.13.6 with AutoPkgr. 10.14.6 and above is even better. If you need to run below macOS 10.13, please consider using version 1.5.4 or below of AutoPkgr. +### Fixed +- Updated to Google Chat verbiage (in place of Hangouts). +- Updated the "AutoPkgr Google Chat" Template. This no longer needs to be edited. +- Updated ongoing development credits. + ## [1.5.4] - 2020-07-28 ### Added From 20f65147c73f36fe405c737cd9122f7f3c60448d Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 15 Sep 2020 11:33:49 -0700 Subject: [PATCH 30/32] Update CHANGELOG.md Minor corrections --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cf3e8e..86650b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,15 @@ All notable changes to this project will be documented in this file. This projec ## [1.5.5] - 2020-09-22 ### Added -- AutoPkgr now integrates with the [SimpleMDM munki repo plugin](https://github.com/SimpleMDM/munki-plugin). Big thanks to [@tboyko](https://github.com/tboyko) for a great collaboration! +- AutoPkgr now integrates with the [SimpleMDM Munki repo plugin](https://github.com/SimpleMDM/munki-plugin). Big thanks to [@tboyko](https://github.com/tboyko) for a great collaboration! ### Changed - Attention Munki Users: In order to eliminate confusion, AutoPkgr will no longer automatically add the MakeCatalogs.munki recipe to the end of your recipe list. If you would like to add it, you should create an override of the MakeCatalogs.munki recipe and add it to your recipe list. Since the introduction of [recipe trust information](https://github.com/autopkg/autopkg/wiki/Autopkg-and-recipe-parent-trust-info) in AutoPkg 1.0, we recommend that you create an override of MakeCatalogs.munki, instead of running the recipe itself. Make sure to check the box to include the MakeCatalogs.munki in your schedule. It will no longer be included automatically. - Updated the Folders & Integrations tab to "Integrations." - The minimum macOS build to run AutoPkgr is now macOS 10.13. It is recommended to run at least macOS 10.13.6 with AutoPkgr. 10.14.6 and above is even better. If you need to run below macOS 10.13, please consider using version 1.5.4 or below of AutoPkgr. +- Updated ongoing development credits. ### Fixed - Updated to Google Chat verbiage (in place of Hangouts). - Updated the "AutoPkgr Google Chat" Template. This no longer needs to be edited. -- Updated ongoing development credits. ## [1.5.4] - 2020-07-28 From 035c78340109893632f8133e7beac23b1848c278 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 22 Sep 2020 10:33:41 -0700 Subject: [PATCH 31/32] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3891828..bce6709 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ To configure AutoPkgr to add updates directly into your Munki repository, follow You'll also want to make sure you have `.munki` recipes selected for each app you want to import. Once the new versions of apps appear in your Munki repo, you can add them to the appropriate catalogs and manifests to deploy them. -When you select any `.munki` recipes selected, AutoPkgr will automatically add MakeCatalogs.munki to the end of your recipe list. MakeCatalogs is a special recipe that rebuilds your Munki catalogs after any items are imported. +Once you have your `.munki` recipes selected, make sure to add MakeCatalogs.munki to your recipe list. MakeCatalogs is a special recipe that rebuilds your Munki catalogs after any items are imported. Since the introduction of [recipe trust information](https://github.com/autopkg/autopkg/wiki/Autopkg-and-recipe-parent-trust-info) in AutoPkg 1.0, we recommend that you create an override of MakeCatalogs instead of running the recipe itself. To do this, follow these steps: @@ -202,7 +202,7 @@ Since the introduction of [recipe trust information](https://github.com/autopkg/ ![MakeCatalogs Override](doc-images/makecatalogs_override.png) -That's it! You only need to create that override once. And you do _not_ need to check the box to include MakeCatalogs.munki in your schedule. It will be included automatically. +1. That's it! You only need to create that override once. Make sure to check the box to include the MakeCatalogs.munki in your schedule. It will no longer be included automatically. ### Integration with Jamf Pro @@ -461,7 +461,7 @@ After uninstalling, you can drag the AutoPkgr app from your Applications folder AutoPkgr was created at [Linde Group](http://www.lindegroup.com) in Emeryville, California. If you're a talented Mac admin looking for a job in the Bay Area, [check out our job listings](http://www.lindegroup.com/careers/). We've got a wonderful team of people and fantastic clients. -AutoPkgr was originally created by James Barclay, Elliot Jordan, and Josh Senick in June 2014, and development was led by Eldon Ahrold until 2016. Current development is led by Shawn Honsberger and Elliot Jordan. +AutoPkgr was originally created by James Barclay, Elliot Jordan, and Josh Senick in June 2014. Development was led by Eldon Ahrold until 2016 and Elliot Jordan until 2017. Elliot continued to contribute to development in 2020. Current development is led by Shawn Honsberger. Thanks to Guillaume Gete for helping with the French localization, and to Luis Giraldo for the Spanish localization. From 1e251f9b7bf40af7a975805ae2569a44e175c698 Mon Sep 17 00:00:00 2001 From: Shawn Honsberger Date: Tue, 22 Sep 2020 11:08:13 -0700 Subject: [PATCH 32/32] Update CHANGELOG.md Updated diff links. --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86650b6..4ca45f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -494,7 +494,9 @@ All notable changes to this project will be documented in this file. This projec - Initial public release of AutoPkgr. -[unreleased]: https://github.com/lindegroup/autopkgr/compare/v1.5.3...HEAD +[unreleased]: https://github.com/lindegroup/autopkgr/compare/v1.5.5...HEAD +[1.5.5]: https://github.com/lindegroup/autopkgr/compare/v1.5.4...v1.5.5 +[1.5.4]: https://github.com/lindegroup/autopkgr/compare/v1.5.3...v1.5.4 [1.5.3]: https://github.com/lindegroup/autopkgr/compare/v1.5.2...v1.5.3 [1.5.2]: https://github.com/lindegroup/autopkgr/compare/v1.5.1...v1.5.2 [1.5.1]: https://github.com/lindegroup/autopkgr/compare/v1.5...v1.5.1