From bab7b52538c52c5641f136c80a95ed7449836ab3 Mon Sep 17 00:00:00 2001 From: npyl Date: Mon, 26 Nov 2018 23:30:06 +0200 Subject: [PATCH] Add NPTask for root permissions! It is not ready yet, but it does the bare minimum (run as root) --- .gitmodules | 3 + Frameworks/NPTask | 1 + Manage Conky.xcodeproj/project.pbxproj | 103 +++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 160000 Frameworks/NPTask diff --git a/.gitmodules b/.gitmodules index 81a5ee9..423baf9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "Manage Conky/Fragaria"] path = Manage Conky/Fragaria url = https://github.com/shysaur/Fragaria +[submodule "Frameworks/NPTask"] + path = Frameworks/NPTask + url = https://github.com/npyl/NPTask diff --git a/Frameworks/NPTask b/Frameworks/NPTask new file mode 160000 index 0000000..5346af9 --- /dev/null +++ b/Frameworks/NPTask @@ -0,0 +1 @@ +Subproject commit 5346af945945fa237f2fe29156d642b54d9d52f1 diff --git a/Manage Conky.xcodeproj/project.pbxproj b/Manage Conky.xcodeproj/project.pbxproj index a87f4d7..fb68033 100644 --- a/Manage Conky.xcodeproj/project.pbxproj +++ b/Manage Conky.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ 095F81912080D08A008DD286 /* MCObjects.m in Sources */ = {isa = PBXBuildFile; fileRef = 095F81902080D08A008DD286 /* MCObjects.m */; }; 096341FD212E235500D011FD /* ConkyX-LICENSE in Copy Licenses */ = {isa = PBXBuildFile; fileRef = 096341FB212E234200D011FD /* ConkyX-LICENSE */; }; 098C76AF213C097600B1F05A /* Manage_Conky_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 098C76AE213C097600B1F05A /* Manage_Conky_Tests.m */; }; + 09A20B7321AC9CED00FB7258 /* NPTask.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 09A20B6821AC9CCE00FB7258 /* NPTask.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 09B56B08211B574E00075BC8 /* MCFilesystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 09B56B07211B574E00075BC8 /* MCFilesystem.m */; }; 09BF3BEB215CF21A003EF57D /* Fragaria.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09BF3BE6215CF203003EF57D /* Fragaria.framework */; }; 09BF3BEC215CF22C003EF57D /* Fragaria.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 09BF3BE6215CF203003EF57D /* Fragaria.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -56,6 +57,48 @@ remoteGlobalIDString = 77B847341F62C2B600AF8BCA; remoteInfo = "Manage Conky"; }; + 09A20B6721AC9CCE00FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0966C5A6215DB1D0006B2DAA; + remoteInfo = NPTask; + }; + 09A20B6921AC9CCE00FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0966C5C6215DB277006B2DAA; + remoteInfo = SMJobBlessHelper; + }; + 09A20B6B21AC9CCE00FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 092F04E9215E69BA00869C20; + remoteInfo = NPAuthenticator; + }; + 09A20B6D21AC9CCE00FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0966C5D1215DB2D5006B2DAA; + remoteInfo = tester; + }; + 09A20B6F21AC9CCE00FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0966C5AF215DB1D0006B2DAA; + remoteInfo = NPTaskTests; + }; + 09A20B7121AC9CE200FB7258 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 0966C5A5215DB1D0006B2DAA; + remoteInfo = NPTask; + }; 09BF3BDB215CF203003EF57D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 09BF3BD0215CF203003EF57D /* Fragaria.xcodeproj */; @@ -135,6 +178,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 09A20B7321AC9CED00FB7258 /* NPTask.framework in Copy Frameworks */, 09BF3BEC215CF22C003EF57D /* Fragaria.framework in Copy Frameworks */, ); name = "Copy Frameworks"; @@ -196,6 +240,7 @@ 098C76AC213C097600B1F05A /* Manage Conky Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Manage Conky Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 098C76AE213C097600B1F05A /* Manage_Conky_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Manage_Conky_Tests.m; sourceTree = ""; }; 098C76B0213C097600B1F05A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NPTask.xcodeproj; path = Frameworks/NPTask/NPTask.xcodeproj; sourceTree = ""; }; 09ACA82A212E1F02002B9754 /* Fragaria-LICENSE-2.0.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "Fragaria-LICENSE-2.0.txt"; path = "Resources/Licenses/Fragaria-LICENSE-2.0.txt"; sourceTree = ""; }; 09B56B05211B565B00075BC8 /* MCFilesystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MCFilesystem.h; sourceTree = ""; }; 09B56B07211B574E00075BC8 /* MCFilesystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MCFilesystem.m; sourceTree = ""; }; @@ -313,6 +358,18 @@ path = "Manage Conky Tests"; sourceTree = ""; }; + 09A20B5921AC9CCE00FB7258 /* Products */ = { + isa = PBXGroup; + children = ( + 09A20B6821AC9CCE00FB7258 /* NPTask.framework */, + 09A20B6A21AC9CCE00FB7258 /* npyl.NPTask.SMJobBlessHelper */, + 09A20B6C21AC9CCE00FB7258 /* NPAuthenticator.app */, + 09A20B6E21AC9CCE00FB7258 /* tester */, + 09A20B7021AC9CCE00FB7258 /* NPTaskTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; 09ACA826212E1CF8002B9754 /* Licenses */ = { isa = PBXGroup; children = ( @@ -392,6 +449,7 @@ 77F6D6D31F65EB2E00A61645 /* Frameworks */ = { isa = PBXGroup; children = ( + 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */, 095F9B3E2077DD74003C60C1 /* Foundation.framework */, 095F9B3C2077DD6E003C60C1 /* Cocoa.framework */, 77F6D6D41F65EB2E00A61645 /* ServiceManagement.framework */, @@ -517,6 +575,7 @@ buildRules = ( ); dependencies = ( + 09A20B7221AC9CE200FB7258 /* PBXTargetDependency */, 09BF3BEA215CF20F003EF57D /* PBXTargetDependency */, ECD50216204F219E00B9D76C /* PBXTargetDependency */, ); @@ -566,6 +625,10 @@ ProductGroup = 09BF3BD1215CF203003EF57D /* Products */; ProjectRef = 09BF3BD0215CF203003EF57D /* Fragaria.xcodeproj */; }, + { + ProductGroup = 09A20B5921AC9CCE00FB7258 /* Products */; + ProjectRef = 09A20B5821AC9CCE00FB7258 /* NPTask.xcodeproj */; + }, ); projectRoot = ""; targets = ( @@ -576,6 +639,41 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ + 09A20B6821AC9CCE00FB7258 /* NPTask.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = NPTask.framework; + remoteRef = 09A20B6721AC9CCE00FB7258 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 09A20B6A21AC9CCE00FB7258 /* npyl.NPTask.SMJobBlessHelper */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = npyl.NPTask.SMJobBlessHelper; + remoteRef = 09A20B6921AC9CCE00FB7258 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 09A20B6C21AC9CCE00FB7258 /* NPAuthenticator.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = NPAuthenticator.app; + remoteRef = 09A20B6B21AC9CCE00FB7258 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 09A20B6E21AC9CCE00FB7258 /* tester */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = tester; + remoteRef = 09A20B6D21AC9CCE00FB7258 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 09A20B7021AC9CCE00FB7258 /* NPTaskTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = NPTaskTests.xctest; + remoteRef = 09A20B6F21AC9CCE00FB7258 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 09BF3BDC215CF203003EF57D /* Fragaria Doc.app */ = { isa = PBXReferenceProxy; fileType = wrapper.application; @@ -753,6 +851,11 @@ target = 77B847341F62C2B600AF8BCA /* Manage Conky */; targetProxy = 098C76B1213C097600B1F05A /* PBXContainerItemProxy */; }; + 09A20B7221AC9CE200FB7258 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NPTask; + targetProxy = 09A20B7121AC9CE200FB7258 /* PBXContainerItemProxy */; + }; 09BF3BEA215CF20F003EF57D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Fragaria;