Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Repository setup - Error parsing (empty) file

Help
2014-07-06
2014-07-06
  • Joshua Hopp
    Joshua Hopp
    2014-07-06

    Hi,

    I really like the software! Now I'm trying to set up an own software distribution process using couchdb and it fails. )-:

    So, for testing purposes, I have set up a apps.metalink file within a couchdb which is an exact copy of the file being used for the default repository; so in theory this should work fine, shouldn't it?

    This is the file: (link defect, but see comment below)

    However, what happens is:

    Using config at /home/.../.appupdater.ini.
    Error parsing file /home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink, skipping.
    Client UUID is ...
    Updating all repository information
    Updating application information.
    Checking for update of https://redyeti2.iriscouch.com/test/40d388d30fe68d5c3a199bf877000815/apps.metalink...
    Downloading to /home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink.
    Updating version information.
    Error parsing file /home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink, skipping.
    Error parsing file /home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink, skipping.
    Scanning for installed applications.
    Error parsing file /home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink, skipping.
    Searching directories for supported applications...
    No valid application repositories.
    

    (/home/.../.Appupdater/56ee42a0822658ecada20e4d0c70c9efcfbad643/apps.metalink is empty, so its not the parsing but the downloading part that goes wrong)

    Any Ideas on how to make it work?

    Thanks in advance!

     
    Last edit: Joshua Hopp 2014-07-06
  • Joshua Hopp
    Joshua Hopp
    2014-07-06

    Tracked the problem down to where it comes from:

    download.py:
    190: if UUID:
    191: req.add_header('Authorization', "Basic " + base64.encodestring('%s:' % UUID).strip())

    When downloading, Appupdater is trying to authorize with its uuid and an empty password, which is correctly rejected, because that user does not exist in the database. If those two lines are commented out, it works fine.

    Could authorization be sent only if required (why is that necessary, anyway?). Or could one add the option to turn off authorization for some of the repositories?

    Thank you.