Open peterjc opened 8 years ago
I've created https://github.com/biopython/DIST which will handle the DIST/
folder as a separate repository; this seems more elegant than forcing everything under https://github.com/biopython/biopython.github.io
(I will now rewrite the history here to remove the DIST/
files)
I've uploaded the most recent Windows installers to https://github.com/biopython/DIST - taking the time to double check their MD5 checksums and note this in the commit comments. The good news is the download via GitHub pages seems to work fine:
e.g. https://biopython.github.io/DIST/biopython-1.66.win32-py3.5.msi
@peterjc I can try working on migrating the remaining installers.
I'm actually working on the Download page. @peterjc can you go on uploading more releases, maybe starting with the more recent ones?
I've asked on the mailing list for help confirming checksums before posting the remaining releases:
Progress: I think all the *.tar.gz
files are back, thanks to community validation of checksums and the Gentoo packaging manifest records.
Can we use the validated *.tar.gz
files to generate the *.zip
files? Is this a simple conversion or is the content different?
Good idea. I always assumed the *.zip
files might be built with Windows line endings, but no - probably as these were always produced together on the same (Linux) machine, their contents seem to be the same.
Based on a single test:
$ diff -r biopython-1.61-tar-gz/ biopython-1.61-zip/ && echo "Returned $?"
Returned 0
OK, that ought to let me verify the contents of all the *.zip
files against the previously validated *.tar.gz
files.
Other than having biopython-1.21/Tests/*.pyc
in biopython-1.21.zip
all the zip file contents seem to match the tar-balls :)
https://github.com/biopython/DIST/commit/1a6013af7d29d2fcc32f7db0113b10167ebf88ae
If anyone is interested, the quick-and-dirty comparison script I used was:
import os
import sys
def untar(tar, folder):
assert os.path.isfile(tar)
if os.path.isdir(folder):
print("Assuming %s already untarred to %s" % (tar, folder))
return
os.mkdir(folder)
cmd = 'tar -zxvf "%s" -C "%s"' % (tar, folder)
print(cmd)
rc = os.system(cmd)
if rc:
sys.exit("Error %i from %s" % (rc, cmd))
def unzip(zip, folder):
assert os.path.isfile(zip), zip
if os.path.isdir(folder):
print("Assuming %s already unzipped to %s" % (zip, folder))
return
os.mkdir(folder)
cmd = 'unzip "%s" -d "%s"' % (zip, folder)
print(cmd)
rc = os.system(cmd)
if rc:
sys.exit("Error %i from %s" % (rc, cmd))
def tar_vs_zip(tar, zip, stem):
print("%s vs %s" % (tar, zip))
assert tar == stem + ".tar.gz"
tar_folder = "/tmp/%s-tar-gz" % stem
untar(tar, tar_folder)
assert zip == stem + ".zip"
zip_folder = "/tmp/%s-zip" % stem
unzip(zip, zip_folder)
cmd = 'diff -r "%s" "%s"' % (tar_folder, zip_folder)
rc = os.system(cmd)
if rc:
sys.exit("Error %i from %s" % (rc, cmd))
cmd = 'git add "%s" "%s"' % (tar, zip)
rc = os.system(cmd)
if rc:
sys.exit("Error %i from %s" % (rc, cmd))
md5.extend([tar, zip])
md5 = []
for tar in os.listdir("."):
if not tar.endswith(".tar.gz"):
continue
stem = tar[:-7]
zip = stem + ".zip"
if not os.path.isfile(zip):
continue
tar_vs_zip(tar, zip, stem)
cmd = "md5 %s" % " ".join(md5)
os.system(cmd)
cmd = "shasum -a 256 %s" % " ".join(md5)
os.system(cmd)
Plus use of rm /tmp/biopython-1.21-zip/biopython-1.21/Tests/*.pyc
to get the diff to pass.
Another contributor pointed out that archive.org actually does record binary files, and I was able to download almost all of the past releases from them and compare them to the files from the old web server - and everything matched: https://github.com/biopython/DIST/commit/d5f7b010e345eaf27e6a09d2dc22374098127ba7
We're still missing verification for just a handful of files:
Just FYI, GitHub is allowing us to host the installers, but does grumble about it:
The page build completed successfully, but returned the following warning:
It looks like you're using GitHub Pages to distribute binary files. We strongly suggest that you use releases to ship projects on GitHub. Releases are GitHub's way of packaging and providing software to your users. You can think of it as a replacement to using downloads to provide software. We found the following file(s) which may be a good candidate for releases: biopython-1.65.win32-py2.6.exe, ... For more information, see https://help.github.com/articles/about-releases/.
For information on troubleshooting Jekyll see:
https://help.github.com/articles/troubleshooting-jekyll-builds
If you have any questions you can contact us by replying to this email.
I'm expecting in future we won't need to host new releases on http://biopython.org/DIST/ and can use PyPI instead.
Biopython 1.62 and 1.63b are not currently linked to from the old releases section downloads page. They were publicly announced via http://lists.open-bio.org/pipermail/biopython/2013-August/014917.html and http://lists.open-bio.org/pipermail/biopython/2013-November/014995.html so I think it was just an oversight in bfbdb5aceaca8d3347c46cfea8e6c1cca88da3e6 and bfbdb5aceaca8d3347c46cfea8e6c1cca88da3e6
PyPI has our (recent?)
*.tar.gz
releases, and in future we'd like to do wheels there too.However, can we and should we simply host all the old
*.tar.gz
,*.zip
,*.exe
and recently*.msi
files via GitHub pages?