autopkg / jss-recipes Goto Github PK
View Code? Open in Web Editor NEWAutoPkg recipes that use JSSImporter to upload software packages to your JSS.
AutoPkg recipes that use JSSImporter to upload software packages to your JSS.
So the documentation (i.e. README.md) says:
"JSS recipes use PKG recipes as parents." However I see like for yo.jss
<key>ParentRecipe</key>
<string>com.github.sheagcraig.download.yo</string>
Maybe the docs should say:
Jss recipes use parent recipes that produce PKG installers.
Since the intent is:
"This ensures that a standard Apple package (pkg) file can be uploaded to the distribution points."
I don't think the idea was to force JSS recipes to use PKG recipes but if so then the issue need to be moved to the yo.jss :-).
----------------------------------------------------
Testing recipe: ./jss_helper/jss_helper.jss.recipe
----------------------------------------------------
Test: Parent Recipe is in AutoPkg org. Result: False
I got this following issue when running an override for Kindle.jss
Processing Kindle-selfservice.jss.recipe...
File '/Applications/Kindle.app/Contents/Info.plist' does not exist or could not be read.
Failed.
The following recipes failed:
Kindle-selfservice.jss.recipe
Error in local.jss.Kindle-selfservice: Processor: Versioner: Error: File '/Applications/Kindle.app/Contents/Info.plist' does not exist or could not be read.
Nothing downloaded, packaged or imported.
I was unable to install GitHub Desktop on a 10.12.0 Mac today. When I checked the GitHub Desktop.jss receipe, it appears that the recipe needs to be updated to include 10.12.x as a supported OS for the installer. Relevant line linked below and I will open a pull request:
https://github.com/autopkg/jss-recipes/blob/master/GitHub%20Desktop/GitHub%20Desktop.jss.recipe#L20
Sketch.jss.recipe downloads Sketch version 3.5 but the current version is 3.7.2
The string value for the MinimumVersion key is 0.5.0 in Sketch.jss.recipe and 0.6.0 in the parent recipe, though editing my override to 0.6.0 or higher doesn't seem to have any effect.
Here's the current CFBundleVersionSmartGroupTemplate.xml:
<computer_group>
<name>%group_name%</name>
<is_smart>true</is_smart>
<criteria>
<criterion>
<name>Application Title</name>
<priority>0</priority>
<and_or>and</and_or>
<search_type>is</search_type>
<value>%JSS_INVENTORY_NAME%</value>
</criterion>
<criterion>
<name>%NAME%Version</name>
<priority>1</priority>
<and_or>and</and_or>
<search_type>is not</search_type>
<value>%VERSION%</value>
</criterion>
<criterion>
<name>Computer Group</name>
<priority>2</priority>
<and_or>and</and_or>
<search_type>member of</search_type>
<value>Testing</value>
</criterion>
</criteria>
</computer_group>
I would propose adding one more criterion:
<criterion>
<name>%NAME%Version</name>
<priority>3</priority>
<and_or>and</and_or>
<search_type>is not</search_type>
<value></value>
</criterion>
This would prevent computers from being scoped into the smart group if the %NAME%Version extension attribute has not yet been evaluated during a recon.
Hi,
I'm not sure this is a bug, let me first explain.
Since few weeks now, Skype doesn't really work well in JSS with JSSImporter due to confusion of version/shortversion.
By editing the smart group in the JSS, it seek computers for Skype version "7.9.0.746", quite normal.
But in fact, if you take a look on the Skype app, it version is 7.9 which in fact is the "CFBundleShortVersionString" on the info.plist inside the App, where "7.9.0.746" is the "CFBundleVersion".
At the end, I have a smart group that seek for version 7.9.0.746 and find only 7.9 and reinstall policy on all computer all the time. But if we change criteria to seek for version 7.9 only, a lot of client computers won't have the last 7.9 version of skype…
Is there a way to fix that kind of bug ?
Hello,
Each times that we want to run the OracleJava8 recipe, we got this error message :
No match found on URL: https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Failed.
Could you please help us by fixing this issue ?
Thanks,
Hasan
As I circle back through the recipes and add Extension Attributes for things like Skype, Google Earth Pro, etc, I wonder if it would be more elegant, efficient, and manageable to instead have a second pair of reusable templates available for Smart Groups and a basic Extension Attribute that does defaults read on the app's CFBundleVersion.
Casper seems to only know about CFBundleShortVersionString in its inventory. I'll put a Feature Request up with them (or upvote an existing one if it's there) to include the most specific of the two, but then again, since we can't even do version comparisons, I don't hold out a lot of hope for that.
In the meantime, I'll template out things, and update the style guide to reference these changes.
The preferences of the Skype For Business jss recipe is missing the mojave compatibility in it
Hi there everyone! What would you think of something like this to standardize package upload for use with Jamf's new Patch Management? If we want to stop building Policies and Smart Groups, I understand that we can delete the templates from our overrides. I was just wondering if this might be a cleaner type of method to use going forward? I don’t know and wanted to hear everyone's thoughts. Thanks! :)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<package>
<name>%JSS_INVENTORY_NAME%</name>
<category>%CATEGORY%</category>
<filename>%NAME%</filename>
<package_info></package_info>
<package_notes></package_notes>
<priority></priority>
<parameters></parameters>
<package_configuration></package_configuration>
<os_requirements></os_requirements>
<self_service_icon></self_service_icon>
</package>
</plist>
Inspired by this:
autopkg/novaksam-recipes#7 (comment)
Ideally, the trigger would be blank unless a variable for it is present in the override.
Might not be an issue with your code but best place to ask.
I'm using the jss-recipe for Skype with Auto Update Magic
and it installs it over and over again.
I think the problem is that one side uses the full version 7.53.0.580
and the other side uses just 7.53 and so they never match so
it continually installs. Any ideas appreciated.
8/19/16 11:02:10.928 AM AutoPkgr[85839]: Run status: Processing com.github.jss-recipes.jss.OracleJava8JDK...
8/19/16 11:02:10.928 AM AutoPkgr[85839]: Processing com.github.jss-recipes.jss.OracleJava8JDK...
8/19/16 11:03:06.745 AM AutoPkgr[85839]: [DEBUG] Found app and version: Oracle Java 8 JDK:1.8.0
8/19/16 11:03:56.359 AM AutoPkgr[85839]: Error [1] Error running recipes
Response Code: 404 Response: Not Found. The server has not found anything matching the request URI
8/19/16 11:05:56.254 AM AutoPkgr[85839]: [DEBUG] Completed AutoPkg Task:
/usr/bin/python /usr/local/bin/autopkg run com.github.jss-recipes.jss.OracleJava8JDK --report-plist /var/folders/jh/8001rxgs1x50k8y9c475qhsw0000gp/T/com.lindegroup.AutoPkgr/20160819110210 -v
Hullo! Firefox has a new icon as of version 57.0. It would be nice to have that updated. :)
Since upgrading to Python3, com.github.jss-recipes.jss.depnotify fails with Error processing path "~/Library/Autopkg/Cache/local.jss.DEPNotify/DEPNotify/Applications/Utilities/DEPNotify.app failed to Glob."
It looks like when it downloads the zip, it doesn't extract or build the DEPNotify.app.
Just kind of an FYI, I'm unsure what the impact will be on how the jss recipe and the parent recipes will be impacted. Citrix is rebranding Receiver as Workspace, and will stop updating Receiver. Unsure on timeline. Workspace is already available.
Hello,
parallels desktop.pkg that get's created results in a corrupt install. Parallels Application appears but when you try to open it, Parallels spits out a 15431 error (seems generic) and the 'solution' just takes you to parallels support site.
This is occurring regardless of deployment method, happens when manually installing as well. I had a quick check on #AutoPkg Slack Channel and a few folks last year mentioned this issue as well so doesn't look to be specific to this version.
If I install via pd12.dmg from Parallels site and install all is OK.
Good morning,
I'm trying to make a zoom pkg and policy using autopkg run Zoom.jss and it fails every time with an unarchiver error. I tried two other recipes (Wireshark and Textmate) just to see if it was the zoom recipe and it says that they don't even exist.
I've been working on converting my repo to the standard shown here and I encountered an issues where if I have a recipe with spaces in the name (ex. Adobe DNG Converter.jss.recipe from this repo) and you make an override of it (I use Autopkgr, but the same thing happens using autopkg from the command line) it adds spaces into identifier of the override recipe.
Example:
Source Recipe identifier
com.github.jss-recipes.jss.AdobeDNGConverter
Override Recipe identifier
local.jss.Adobe DNG Converter
Would be splendid to have some kind of continuous integration tool like Travis run validate_recipes.py
on incoming pull requests, and add a "pass" or "fail" badge automatically.
For an example of such behavior, check out pull requests to Bootstrap:
I'm not yet experienced with such things, but it seems like it could be a good idea.
I think I forced AutoPkgr to get the new recipe but it didn't help.
RecipeOverrides$ fgrep 10. Skype*
Skype.jss.recipe: 10.12.x,10.11.x,10.10.x,10.9.x
RecipeOverrides$ fgrep 10. Skype*
Skype.jss.recipe: 10.13.x,10.12.x,10.11.x,10.10.x,10.9.x
In response to autopkg/arubdesu-recipes/issues/32, original recipe owner appears to have deleted the parent recipe used by this project. He suggested using autopkg/keeleysam-recipes instead, but there's no pkg recipe available there. Looks like someone will need to create a new Bartender pkg recipe to use as parent.
After running this jss recipe, it actually imported all the info onto jss, but only chrome pkg installation failed. it gave an error "Error the package path specified was invalid" '/Library/Application Support/JAMF/Downloads/Google Chrome-48.0.2564.116.pkg'. " on JSS
For other jss recipe, i've tested with no issue and installed successfully.
Hello, i got the following error using Autopkgr with Tunnelblick.jss:
The following failures occurred:
JSSImporter requires missing argument version
anybody else getting this error?
using
Autopkg 1.0.3
JSSImporter 1.0.0
When you run the Silverlight.jss recipe, it will always error out saying something along the lines of:
Error running recipes
File '<cache directory>/com.github.jss-recipes.jss.Silverlight/unpack/Internet Plug-Ins/Silverlight.plugin/Contents/Info.plist' does not exist or could not be read.
The Info.plist both exists and can be read by all users. The recipe itself works just fine and uploads the file as expected. It just always sends an error code along with it.
Does not pull the right app in the Smart Group missing "Acrobat" in the title
Same app does not pull in version number either
Is this the right spot to mention these?
Thanks
Ryan
I noticed that no recipes have the StopProcessingIf
process in them. If upstream .pkg
recipes do not have this inside them (which seems to be the case sometimes, e.g. Carbon Copy Cloner), then JSSImporter
will proceed every time.
JSSImporter
creates a "Testing" policy. A normal mode of operation would be to promote/stage/delete that policy after testing. But without StopProcessingIf
, the policy will be re-created after every AutoPkg run, regardless of whether there is an update to the package.
To prevent this, I'm having to create my own .jss recipes for every software title, with StopProcessingIf
added, like so:
<dict>
<key>Processor</key>
<string>StopProcessingIf</string>
<key>Comment</key>
<string>Checks if the file already exists in the cache</string>
<key>Arguments</key>
<dict>
<key>predicate</key>
<string>new_package_request == False</string>
</dict>
</dict>
I may be missing something, but if not, could we add a requirement for .jss recipes to have the StopProcessingIf
process in them?
Audacity's download from fosshub is now clearly in violation of their TOS, so I've removed my Audacity.download recipe and made the Audacity.munki recipe I maintain require the --pkg
argument so that a user may supply their own download. This just involved changing %pathname%
to %PKG%
and adding a PackageRequired
argument so that it's clearer to users how the recipe must be used.
Since you've also got Audacity recipes that ultimately derive from Audacity.download (or are a copy of it), I'm opening this issue on this and a couple other repos.
More details:
https://www.fosshub.com/tos.html
https://github.com/chocolatey/package-validator/wiki/ScriptsDoNotDownloadFromFossHub
http://forum.audacityteam.org/viewtopic.php?f=50&t=94040
https://www.reddit.com/r/sysadmin/comments/5g5npg/fosshub_message_for_chocolatey_please_stop_with/
Keeping the fosshub scraping working for this recipe has been a chore and Audacity is rarely ever updated, so I can't say I don't prefer this approach anyway.
Since there also seems to be duplication across a few of @homebysix, @scriptingosx and @novaksam's recipes it might also be a good time to evaluate whether any recipes could be removed in favour of one or another.
Hi,
Can anybody verify the below and update the recipe, please?
The <key>JSS_INVENTORY_NAME</key>
string needs to be updated to <string>iTerm.app</string>
in order to register the installed iTerm.app, otherwise we get no computers in the group and therefore no auto updates.
Tested with a local override and it works.
Using Jamf Pro 10, although I suspect the behaviour would be the same on any version of JSS.
Thanks
When a new update-smart group is created at times where a new version is available it looks for a GoToMeeting.app file instead of the proper GoToMeeting (8034).app which would correspond to the version 8.18.0.8034.
When running the Silverlight.jss recipe (via Autopkgr or Autopkg in Terminal) I get the error: JSSImporter requires missing argument version.
I did manually create an Override with the blank version key. I am wondering why this became an issue recently.
----------------------------------------------------------------
Testing recipe: ./Adobe Acrobat DC/Adobe Acrobat DC.jss.recipe
----------------------------------------------------------------
Test: GROUP_TEMPLATE is 'SmartGroupTemplate.xml'. Result: False
This is likely a problem with the validator, not the recipe. Making a note of it here so I don't forget to investigate later.
Office2011Versioner on line 36 should be
Office2011UpdateVersioner
Everything else works but the override below does not rename the package.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Identifier</key>
<string>local.jss.UNCSystem-AutoPKG-yo</string>
<key>Input</key>
<dict>
<key>CATEGORY</key>
<string>aaUNCSystem-Test</string>
<key>GROUP_NAME</key>
<string></string>
<key>GROUP_TEMPLATE</key>
<string></string>
<key>NAME</key>
<string>UNCSystem-AutoPKG-yo</string>
<key>POLICY_CATEGORY</key>
<string></string>
<key>POLICY_TEMPLATE</key>
<string></string>
<key>SELF_SERVICE_DESCRIPTION</key>
<string>yo is a command-line utility for presenting native OS X persistent notifications with custom text, icons, sounds, and actions.</string>
<key>SELF_SERVICE_ICON</key>
<string></string>
</dict>
<key>ParentRecipe</key>
<string>com.github.jss-recipes.jss.yo</string>
</dict>
</plist>
MySQL Workbench does not have 10.14.x or 10.15.x included in the operating system requirement. Is this on purpose? Should I create an override of our own and lift/add the OS version requirement?
The current JSS policy for Adobe Reader non DC does not have a version coming in from the package. Without versioning it does not know to update the package. Is this something that someone with a little more experience than me can look into.
Thanks
Ryan
Hi there,
I'm trying to make my own override for the Google Chrome.jss to point at the Chrome pkg that google now provides, but it's not working (doesn't upload to my DP). Was wondering if we could get an updated .jss.
Thanks!
The parent recipe was changed to match the application name casing, so now MySQLWorkBench.pkg.recipe is MySQLWorkbench.pkg.recipe. The JSS recipe no longer works because it can't find the parent recipe.
https://github.com/autopkg/cgerke-recipes/blob/master/Applications/MySQLWorkbench.pkg.recipe
Hi there,
Since few days, I'm encoutered an issue with Silverlight through autopkg/autopkgr.
Here's what I can give you :
My recipe override :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Identifier</key>
<string>local.jss.Silverlight</string>
<key>Input</key>
<dict>
<key>CATEGORY</key>
<string>Plugin_Internet</string>
<key>DESCRIPTION</key>
<string></string>
<key>DOWNLOAD_URL</key>
<string>http://www.microsoft.com/getsilverlight/handlers/getsilverlight.ashx</string>
<key>GROUP_NAME</key>
<string>%NAME%-update-smart</string>
<key>GROUP_TEMPLATE</key>
<string>%RECIPE_DIR%/SilverlightSmartGroupTemplate.xml</string>
<key>ICON</key>
<string>%RECIPE_DIR%/Silverlight.png</string>
<key>NAME</key>
<string>Silverlight</string>
<key>POLICY_CATEGORY</key>
<string>Plugin_Internet</string>
<key>POLICY_TEMPLATE</key>
<string>%RECIPE_DIR%/PolicyTemplate.xml</string>
<key>USER_AGENT</key>
<string>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.28.10 (KHTML, like Gecko) Version/6.0.3 Safari/536.28.10</string>
<key>JSS_SUPPRESS_WARNINGS</key>
<string>true</string>
</dict>
<key>ParentRecipe</key>
<string>com.github.autopkg.jss.Silverlight</string>
</dict>
</plist>
When I run Silverlight.pkg (which is parent off Silverlight.jss - com.github.autopkg.pkg.Silverlight), it works fine, but when I run Silverlight.jss both from autopkgr and using command line autopkg, I get the following error :
admin$ autopkg run Silverlight.jss -vvvvv
Processing Silverlight.jss...
Failed.
Receipt written to /tmp/receipts/Silverlight-receipt-20160128-095208.plist
The following recipes failed:
Silverlight.jss
JSSImporter requires missing argument version
Nothing downloaded, packaged or imported.
Traceback (most recent call last): File "/usr/local/bin/autopkg", line 1460, in run_recipes autopackager.verify(recipe) File "/Library/AutoPkg/autopkglib/__init__.py", line 417, in verify % (step["Processor"], key)) AutoPackagerError: JSSImporter requires missing argument version
Can you help me (again :) ) on this ?
Hi!
I wanted to point out that this smart group will catch PowerPoint from office 2011 and thus always be true if Office 2011 is installed.
novaksam solved it like this:
Application Title is Microsoft PowerPoint.app
and Application Version like 15.
and Application Version is not
and Computer Group member of Testing
and Operating System like 10.10
or Operating System like 10.11
thanks for the recipes!
regards
Mikael Johansson
PS. Maybe this is applicable to all the other office applications. DS.
I created a draft FirefoxAutoconfig.jss recipe based on com.github.gregneagle.pkg.FirefoxAutoconfig.
Questions:
Looks like there is a code change and caused the error:
Error in local.jss.Google Earth Pro: Processor: CodeSignatureVerifier: Error: Mismatch in authority names. Note that all verification can be disabled by setting the variable DISABLE_CODE_SIGNATURE_VERIFICATION to a non-empty value.
Repo were updated and Trust Info updated for Overrides already.
Currently, the Office 2016 recipes don't validate, because of necessary changes that were made to them.
--------------------------------------------------------------
Testing recipe: ./Microsoft Excel/Microsoft Excel.jss.recipe
--------------------------------------------------------------
Test: Parent Recipe is in AutoPkg org. Result: False
Test: Recipe has only a single processor, of type 'JSSImporter'. (Too many processors: 4 > 1) Result: False
Test: GROUP_TEMPLATE is 'SmartGroupTemplate.xml'. Result: False
Or maybe validate_recipes.py could be like pylint and we could put a comment in the recipe giving it certain waivers:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ValidationNotes</key>
<string>IGNORE:ParentRecipe,SingleProcessor,GroupTemplate</string>
[...]
Just spitballing...
The recipes for the Microsoft office patches at OS Requirements that do not include 10.13.x and in fact the last update a year ago was to add 10.12.x..
Microsoft Excel Add 10.12.x to OS REQUIREMENTS a year ago
Microsoft OneNote Add 10.12.x to OS REQUIREMENTS a year ago
Microsoft Outlook Add 10.12.x to OS REQUIREMENTS a year ago
Microsoft PowerPoint Add 10.12.x to OS REQUIREMENTS a year ago
Microsoft Remote Desktop updated OS_REQUIREMENTS for macOS Sierra support, updated
Microsoft Word Add 10.12.x to OS REQUIREMENTS a year ago
I would be great to get these updated to support macOS High Sierra.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.