Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.tgz download from Sparklefeed #134

Closed
mikaellofgren opened this issue Jun 8, 2018 · 9 comments
Closed

.tgz download from Sparklefeed #134

mikaellofgren opened this issue Jun 8, 2018 · 9 comments

Comments

@mikaellofgren
Copy link

mikaellofgren commented Jun 8, 2018

Hi
Try to use Recipe-Robot to build a recipe for Fontagent.
http://cdn.insidersoftware.com/_downloads/FontAgent8.dmg

The sparklefeed tries to download .tgz, it works if I build a manually recipe.

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Description</key>
	<string>Downloads the latest version of Fontagent 8.</string>
	<key>Identifier</key>
	<string>com.github.mikaellofgren.download.Fontagent8</string>
	<key>Input</key>
	<dict>
		<key>NAME</key>
		<string>Fontagent</string>
		<key>SPARKLE_FEED_URL</key>
		<string>https://updates.insidersoftware.com/software/fontagent8/release/notes.xml</string>
	</dict>
	<key>MinimumVersion</key>
	<string>0.6.1</string>
	<key>Process</key>
	<array>
		<dict>
			<key>Arguments</key>
			<dict>
				<key>appcast_url</key>
				<string>%SPARKLE_FEED_URL%</string>
			</dict>
			<key>Processor</key>
			<string>SparkleUpdateInfoProvider</string>
		</dict>
		<dict>
			<key>Arguments</key>
			<dict>
				<key>filename</key>
				<string>%NAME%_%version%.tgz</string>
			</dict>
			<key>Processor</key>
			<string>URLDownloader</string>
		</dict>
		<dict>
			<key>Processor</key>
			<string>EndOfCheckPhase</string>
		</dict>
		<dict>
			<key>Arguments</key>
			<dict>
				<key>archive_path</key>
				<string>%pathname%</string>
				<key>destination_path</key>
				<string>%RECIPE_CACHE_DIR%/%NAME%/%NAME%_%version%.pkg</string>
				<key>purge_destination</key>
				<true/>
			</dict>
			<key>Processor</key>
			<string>Unarchiver</string>
		</dict>
		<dict>
		<key>Processor</key>
			<string>CodeSignatureVerifier</string>
			<key>Arguments</key>
			<dict>
				<key>input_path</key>
				<string>%RECIPE_CACHE_DIR%/%NAME%/FontAgent*.*pkg</string>
				<key>expected_authority_names</key>
        	<array>
            <string>Developer ID Installer: Insider Software Inc. (936VDEB3YQ)</string>
            <string>Developer ID Certification Authority</string>
            <string>Apple Root CA</string>
        	</array>
			</dict>
</dict>
</array>
</dict>
</plist>
@homebysix
Copy link
Owner

Hi @mikaellofgren - This is a really interesting case, thanks for finding it! The issue led me to a bug that caused Recipe Robot to fail to expand .tgz files properly, which led it to fall back on the initial .dmg format you provided it.

I've made some changes to the master branch that should resolve this issue. Could you try again now?

@mikaellofgren
Copy link
Author

Hi
Thanks for a great app! I just downloaded latest Recipe Robot 1.1.1 (909), and tried the URL, but got this error:

[Processing http://cdn.insidersoftware.com/_downloads/FontAgent8.dmg ...
Input path looks like a download URL.
Download URL is: http://cdn.insidersoftware.com/_downloads/FontAgent8.dmg
[WARNING] Careful, this might be a version-specific URL. Better to give me a "latest" URL or a Sparkle feed.
Checking for HTTPS URL...
Domain does not have a valid SSL certificate.
Downloading file for further inspection...
[WARNING] This download URL is not using HTTPS. I recommend contacting the developer and politely suggesting that they secure their download URL. (Example: https://twitter.com/homebysix/status/714508127228403712)
9.97%����������
19.95%�����������
29.92%�����������
39.90%�����������
49.87%�����������
59.85%�����������
69.82%�����������
79.79%�����������
89.77%�����������
99.74%�����������
Downloaded to /Users/mikael/Library/Caches/Recipe Robot/2019-02-21_17-55-40_000507/FontAgent8.dmg
Determining download format...
File extension is dmg
Opening downloaded file...
Successfully mounted disk image
Checking whether package is signed...
Package is signed
Getting developer from pkg signature...
Developer is: Insider Software Inc.
Getting package signature authority names...
3 authority names recorded
Expanding package to look for clues...
Package expanded to: /Users/mikael/Library/Caches/Recipe Robot/2019-02-21_17-55-40_000507/expanded
Trying to get bundle identifier from PackageInfo file...
Bundle identifier (tentative): com.insidersoftware.fontagent8.pkg
Added blocking application: Uninstaller.app
Added blocking application: FontAgent.app
Added blocking application: FontAgent Activator.app
Added blocking application: FontAgent Pro.app
[WARNING] Multiple apps found in payload. I'll do my best to figure out which one to use.
Using app: FontAgent.app
In container package: fontagentinstall.pkg
Validating app...
App seems valid
Getting app name...
App name is: FontAgent
Getting bundle identifier...
Bundle identifier is: com.insidersoftware.v8.fontagent
Checking for a Sparkle feed...
Sparkle feed is: https://updates.insidersoftware.com/software/fontagent8/release/notes.xml
Getting information from Sparkle feed...
The Sparkle feed does not provide a version number
The latest version is 0
Looking for version key...
Version key is: CFBundleShortVersionString (8.3.4)
Looking for app icon...
App icon is: /Users/mikael/Library/Caches/Recipe Robot/2019-02-21_17-55-40_000507/payload0/Applications/FontAgent 8/FontAgent.app/Contents/Resources/AppIcon
Getting app description...
Description (from MacUpdate): Font management and repair utility.
Searching for existing AutoPkg recipes for FontAgent...
[ERROR] Recipe Robot exploded with unexpected error:
Traceback (most recent call last):
File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe-robot", line 68, in main
time, _ = recipe_robot_lib.generate_recipes(facts, prefs) # pylint: disable=assignment-from-no-return
File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/tools.py", line 117, in run_func
result = func(*args, **kwargs)
File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/recipe_generator.py", line 54, in generate_recipes
create_existing_recipe_list(facts)
File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/tools.py", line 387, in create_existing_recipe_list
exitcode, out, err = get_exitcode_stdout_stderr(cmd)
File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/tools.py", line 265, in get_exitcode_stdout_stderr
stderr=PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

[ERROR]
_

@homebysix
Copy link
Owner

The fix hasn’t been released yet. You can test it out by cloning the repo or downloading a zip copy, then running ./scripts/recipe-robot from there.

@mikaellofgren
Copy link
Author

Ok, just tried cloning and running 1.1.2 but seems to get the same error:

                  -----------------------------------
                 |  Welcome to Recipe Robot v1.1.2.  |
                  -----------------------------------
                            \   _[]_
                             \  [oo]
                               d-||-b
                                 ||
                               _/  \_

Processing http://cdn.insidersoftware.com/_downloads/FontAgent8.dmg ...
Input path looks like a download URL.
Download URL is: http://cdn.insidersoftware.com/_downloads/FontAgent8.dmg
[WARNING] Careful, this might be a version-specific URL. Better to give me a "latest" URL or a Sparkle feed.
Checking for HTTPS URL...
Domain does not have a valid SSL certificate.
[WARNING] This download URL is not using HTTPS. I recommend contacting the developer and politely suggesting that they secure their download URL. (Example: https://twitter.com/homebysix/status/714508127228403712)
Downloading file for further inspection...
Downloaded to /Users/mikael/Library/Caches/Recipe Robot/2019-02-23_12-10-26_449977/FontAgent8.dmg
Determining download format...
File extension is dmg
Opening downloaded file...
Successfully mounted disk image
Checking whether package is signed...
Package is signed
Getting developer from pkg signature...
Developer is: Insider Software Inc.
Getting package signature authority names...
3 authority names recorded
Expanding package to look for clues...
Package expanded to: /Users/mikael/Library/Caches/Recipe Robot/2019-02-23_12-10-26_449977/expanded
Trying to get bundle identifier from PackageInfo file...
Bundle identifier (tentative): com.insidersoftware.fontagent8.pkg
Found application: Uninstaller.app
Added blocking application: FontAgent.app
Added blocking application: FontAgent Activator.app
Added blocking application: FontAgent Pro.app
[WARNING] Multiple apps found in payload. I'll do my best to figure out which one to use.
Using app: FontAgent.app
In container package: fontagentinstall.pkg
Validating app...
App seems valid
Getting app name...
App name is: FontAgent
Getting bundle identifier...
Bundle identifier is: com.insidersoftware.v8.fontagent
Checking for a Sparkle feed...
Sparkle feed is: https://updates.insidersoftware.com/software/fontagent8/release/notes.xml
Getting information from Sparkle feed...
The Sparkle feed does not provide a version number
The latest version is 0
Download URL is: https://updates.insidersoftware.com/software/fontagent8/fontagent_8.3.4.tgz
Downloading file for further inspection...
Downloaded to /Users/mikael/Library/Caches/Recipe Robot/2019-02-23_12-10-26_449977/fontagent_8.3.4.tgz
Determining download format...
File extension is tgz
Looking for version key...
Version key is: CFBundleShortVersionString (8.3.4)
Looking for app icon...
App icon is: /Users/mikael/Library/Caches/Recipe Robot/2019-02-23_12-10-26_449977/payload0/Applications/FontAgent 8/FontAgent.app/Contents/Resources/AppIcon
Getting app description...
Description (from MacUpdate): Font management and repair utility.
Searching for existing AutoPkg recipes for FontAgent...
[ERROR] Recipe Robot exploded with unexpected error:
Traceback (most recent call last):
File "./recipe-robot", line 68, in main
time, _ = recipe_robot_lib.generate_recipes(facts, prefs) # pylint: disable=assignment-from-no-return
File "/Users/mikael/Downloads/recipe-robot-master/scripts/recipe_robot_lib/tools.py", line 117, in run_func
result = func(*args, **kwargs)
File "/Users/mikael/Downloads/recipe-robot-master/scripts/recipe_robot_lib/recipe_generator.py", line 54, in generate_recipes
create_existing_recipe_list(facts)
File "/Users/mikael/Downloads/recipe-robot-master/scripts/recipe_robot_lib/tools.py", line 387, in create_existing_recipe_list
exitcode, out, err = get_exitcode_stdout_stderr(cmd)
File "/Users/mikael/Downloads/recipe-robot-master/scripts/recipe_robot_lib/tools.py", line 265, in get_exitcode_stdout_stderr
stderr=PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

[ERROR]

@homebysix
Copy link
Owner

That’s a very different error. You have AutoPkg installed, correct?

@homebysix homebysix reopened this Feb 23, 2019
@mikaellofgren
Copy link
Author

yes thats correct.

@homebysix
Copy link
Owner

What output do you get when you run this command?

/usr/local/bin/autopkg search --path-only FontAgent

@mikaellofgren
Copy link
Author

hmm I was somehow missing AutoPkg binary at /usr/local/bin/autopkg,
but had the AutoPkg folder in /Users/mikael/Library/AutoPkg with some recipes
First I tried to rename /Users/mikael/Library/AutoPkg and run recipe-robot, same problem.
Reinstalled AutoPkg, and all worked fine. Thanks!

@homebysix
Copy link
Owner

Great! I built a check for /usr/local/bin/autopkg into the next release of Recipe Robot, due out soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants