Task #1973
open
Build tarball and upload to website
Added by Junxiao Shi about 11 years ago.
Updated about 6 years ago.
Description
Automate tarball creation as a build target.
./waf dist should generate a tarball that contains all source code including git submodules.
During tarball creation, the version number (obtained from git describe --always) should be saved to VERSION file.
An automated process should create a tarball as described above for each tagged release, and upload to named-data.net website.
- Related to Task #1730: Create and publish source release tarballs added
This functionality already exists in NFD.
#1730 note-4 says:
I want to have some kind of automation for the process of tarball creation before closing this task.
What does that refer to?
./waf dist creates a package with proper version.
I confirm that ./waf dist is able to build a tarball with correct VERSION file.
There are two problems:
nfd-*.tar.bz2 file is placed at the root directory of git repository, and .gitignore does not exclude this file.
The file should either be placed in build/, or be excluded in .gitignore.
- If
git submodule update --init is never executed, the tarball does not contain websocketpp/ directory.
The script should either execute git submodule update --init command, or report an error if websocketpp/ is missing.
What you describing is not ./waf dist's job, but job of the automation routine that we need to have to publish tarballs...
For the first problem in note-5, an easy solution is adding nfd-*.tar.bz2 to .gitignore.
For the second problem in note-5, ./waf dist could require git submodule update --init to be invoked in an external script, but it should refuse to build the tarball if websocketpp/ is missing.
- Subject changed from Build tarball to Build tarball and upload to website
- Description updated (diff)
Updating with information gained from email exchanges with Alex.
This Feature can be implemented a cron job.
However, I doubt this is worth the effort.
NFD had five releases in five months.
Manually running two commands (./waf dist and scp) once a month is easier than creating the cron job and routinely maintain the box that hosts this job.
I'm ok removing target version, but I would like to keep this task open, to remember that things need to be done manually for now.
- Target version changed from v0.3 to Unsupported
FTR, what I currently do to generate the source code tarballs is (assuming I already have a local up-to-date clone):
git checkout ${tag}
git submodule update --init
git clean -dfx
./waf dist
sha256sum ${tag/NFD/nfd}.tar.bz2 > ${tag/NFD/nfd}.tar.bz2.sha256
The steps in comment #12 assume Linux. On OS X, simply substitute 'sha256sum' with 'shasum -a 256'.
- Target version deleted (
Unsupported)
Also available in: Atom
PDF