Closed landryb closed 6 years ago
Thank you for looking into this and your suggestions.
Right now we do not upload anything to Github as part of the release. We just declare a tag as a release. If there are ways to do this better in an automated fashion, then we will try to do this. Thank you for the links. I will look at them.
We maintain a list of package maintainers here: https://github.com/pgRouting/pgrouting/wiki/Package-maintainers If you are the contact person for OpenBSD, feel free to add you or some team members there. It may help to get in touch with everyone if necessary.
We also have a release checklist here: https://github.com/pgRouting/pgrouting/wiki/pgRouting-Release-Process-Checklist If you have any suggestions or important points to add (like this one), feel free to add it to the Wiki. @cvvergara , please correct me, if this is not the right one.
We do not use the OSGeo download server anymore to host source tarballs. I hope we can do this with Github's support for releases, eventually using Travis.
Thanks, added myself to the list of maintainers on the wiki.
Github supports assets upload via its API, so it should be possible to hook the tarball generation (via cpack, cf https://cmake.org/Wiki/CMake:Packaging_With_CPack) & upload (there are scripts around for asset upload, cf https://gist.github.com/stefanbuck/ce788fee19ab6eb0b4447a85fc99f447 as an example) to travis..
A start would be to add INCLUDE(CPack)
and try the make package
target (or with ninja or other fancy generators..) to see if it generates something that can be distributed/built standalone.. tried poking with it locally, but all this cmake stuff is still voodoo to me.
@landryb I updated the release, adding a zip file of the sources, can you check if that is ok? if so I will also add the tar.
thanks a lot @cvvergara , this zip works fine for our workflow ! I'll also take the .tar.gz :)
Added the tar of the source code also. Will close the issue, please reopen if something went wrong
@cvvergara , are you planning to upload source files manually from now, or should we look for an automated way?
The checksum and size is the exact same as https://github.com/pgRouting/pgrouting/archive/v2.6.0.tar.gz so i guess it was just a straight upload of it ? That'll do i think, but usually such tarballs are produced by cmake/automake/some process..
Either way, at least we know it's consistent now. But automating it for next releases would be a bonus :)
@dkastl well, right now was manual, but we will try to make automatic, for next release. @landryb yeah, I downloaded the zip and the tar and uploaded again. so they should be the same.
@cvvergara @landryb Thank you. I confirm that I had same problem on an older version for FreeBSD pkg.
For packaging purposes, we (OpenBSD, and probably other distributors) rely on stable source tarballs with consistent checksums/contents - while pgrouting is tagging releases the github way (ie there's a git tag and an actual release entry for each release, which is already nice), github doesn't guarantee that fetching the source asset from the tag (ie https://github.com/pgRouting/pgrouting/archive/v2.6.0.tar.gz) is stable/has a consistent checksum over time, they're generated on the fly with whatever software version is on the github side, then cached randomly across their infra.
The github doc at https://help.github.com/articles/creating-releases/ explains it a bit in item 7 (uploading generated binaries) but doesnt mention uploading a source tarball (since github doesnt really care about downstreams packaging stuff).
https://github.com/rdoeffinger/iec16022/releases/ is an example of a github project providing such stable source tarballs - see https://marc.info/?l=openbsd-ports&m=151973450514279&w=2 for the rationale behind it.
Would you be so kind to produce (probably with cmake/cpack) such source tarball and upload them to releases (or host them somewhere else, i know before they were at http://download.osgeo.org/pgrouting/source/) ?