-
Notifications
You must be signed in to change notification settings - Fork 11
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
Fix Kano Burners in OSX #31
Comments
@alex5imon Sorry I didn't read that bug report. |
I found this issue on BountySource. If the issue is still present, I'm willing to take a look at it. Same goes for #32 if it's still an issue as well. Just say the word and I'll start digging! |
After doing more testing on 10.10.2, it seems that the issue I was having before was just intermittent. I can't replicate the issue anymore. I'm going to go ahead and test the app against 10.6 - 10.10. When I run into any issues, I'll log them against this thread as well. Invariably, I'll run into #21. I'll work on that issue when I have the virtual environment setup for 10.7. If you have any applicable information, just pass it along to me when you get a chance. |
@zmingee |
Actually, my machine successfully burned the image. I do see what you're saying though.. The URL http://downloads.kano.me/public/latest.json shows "filename": "Kanux-Beta-v1.3.2-release.img", and src/common/download.py shows the following... src/common/download.py
def get_latest_os_info():
debugger("Downloading latest OS information")
# we put everything in a try block as urlopen raises URLError
try:
# get latest.json from download.kano.me
response = urllib2.urlopen(LATEST_OS_INFO_URL)
latest_json = json.load(response)
# give the server some time to breathe between requests
debugger('Latest Kano OS image is {}'.format(latest_json['filename']))
time.sleep(1)
image_url = '{base_url}{filename}'.format(
base_url=latest_json['base_url'],
filename=latest_json['filename'])
gz_url = '{image_url}.gz'.format(image_url=image_url)
# use the url for the latest os version to get info about the image
image_info_json = '{image_url}.json'.format(image_url=image_url)
response = urllib2.urlopen(image_info_json)
os_json = json.load(response)
# give the server some time to breathe between requests
time.sleep(1)
except:
debugger('[ERROR] Downloading OS info failed')
return None
# merge the two jsons, add derived values and return a single info dict
os_info = dict(latest_json.items() + os_json.items() +
[
('image_url', image_url),
('url', gz_url)
])
return os_info Nowhere in this block does it change the value for os_info['filename']. download_kano_os does not change the value, and neither does kano-burner. It just passes the dict to start_burn_process. Once it's there, the following is ran... src/osx/burn.py
def start_burn_process(path, os_info, disk, report_progress_ui):
...
burn_thread = threading.Thread(target=burn_kano_os,
args=(path + os_info['filename'], disk,
os_info['uncompressed_size'], thread_output,
report_progress_ui))
...
def burn_kano_os(path, disk, size, return_queue, report_progress_ui):
cmd = 'gzip -dc {} | dd of={} bs=4m'.format(path, disk)
... I can't see anywhere that it actually appends ".gz" to the filename, but the burn is definitely successful. Do you have any idea what's going on there? |
@zmingee Yeah you are right. The filename didn't change. They changed the latest.json. |
Actually, I tested it manually and if you run "gzip -dc " without the .gz extension, it still recognizes the file. It doesn't throw a "file not found" error. So, I believe that's why it works correctly. Regardless, tomorrow I'll test the app against 10.6 - 10.10 and see what errors I run into. |
@zmingee Wow, interesting. That solves many things for me. |
Yes, that's the version I've been doing my testing on. So far, Yosemite and Mavericks works fine. I think the initial issues I was having were non-related. Still need to test the others OSes, which I planned on doing this weekend. |
@zmingee great! |
I'll keep you posted over the weekend, @alex5imon |
@Ealdwulf Cool, I can test it on Macbook Air 2014 Mac OS X 10.10 and 10.9 / White Macbook 2009 with third party SD card reader Mac OS x 10.8 and 10.7. |
Okay, @rluz I assigned it to you. Similarly to the other ticket, ideally it should be tested without python being installed. |
@FMog @rluz I added some more information to the other tickets . I have added an extra feature to the burner which allows it to be pointed at a different server/image.
Eg, from a terminal run
For comparison the normal json is http://downloads.kano.me/public/latest.json |
I found this issue via Bountysource. Is the bounty still active? |
It's not active anymore sorry |
@alex5imon Why didn't anyone close it then? :) It's open on both Github and Bountysource. |
We need to make sure Kano Burners work in the following OSX versions:
The text was updated successfully, but these errors were encountered: