Conversation
f292602 to
0a6447f
Compare
wohali
left a comment
There was a problem hiding this comment.
Not 100% sure, but I think this breaks the release process.
Makefile
Outdated
| endif | ||
| endif | ||
|
|
||
|
|
Makefile.win
Outdated
| SHELL=cmd.exe | ||
| REBAR?=$(shell where rebar.cmd) | ||
| IN_RELEASE = $(shell if not exist .git echo true) | ||
| COUCHDB_VERSION_SUFFIX = -$(shell git rev-parse --short --verify HEAD) |
There was a problem hiding this comment.
nitpick: why? the way it is now does less work
src/couch/rebar.config.script
Outdated
| string:strip(Version0, right) | ||
| end, | ||
|
|
||
| VersionSuffix = case os:getenv("COUCHDB_VERSION_SUFFIX") of |
There was a problem hiding this comment.
I don't think this will t work when building from a release tarball, when we're not inside of git. Test case should be:
./configure -c
make dist
cd apache-couchdb-*
./configure -c
make couch
which I expect to fail.
0a6447f to
c8b0b0a
Compare
|
@janl No, this is still broken. Running my test case above on your branch, with no tags, I get this: The git sha should be 'baked' into the result of |
|
@wohali can you show all steps preceding that curl? The way it should™ work is that it gets baked into rebar at |
|
|
I tried a good while trying to get this going, but it is not going to be a trivial patch. The problem is as follows: the git sha is only known at |
e1bb5e8 to
91fad83
Compare
|
turns out this was easier after all. After the |
756b75b to
b12be1a
Compare
b12be1a to
ace1b7f
Compare
|
@janl I will test this tomorrow. What do you think about dropping the |
|
@wohali no strong opinion either way. Feel free to amend my patch directly. One thing I could see people ask is to not make this info available on a non-admin endpoint (I know), what's your thinking on that? |
Unfortuantely, #1437 brought in a build bug that caused dist tarballs to be created always using the last tag that could be found on the tree. This lead to `master` building tarballs labelled `2.1.0`. The new approach includes extensive comments to explain the approach, fixes the bug, and for an encore adds -dirty if you're building a CouchDB with local changes that aren't committed to git.
|
While reviewing this PR, I found that our fixes to improve the 2.1.2 RC process accidentally broke building "snapshot" dist tarballs from I've fixed the bug, and also added dirty detection (which marks a release as Like the commits prior, this absolutely requires the repo to be inside of git. If we switch version control systems ever, we'll have to redo this part of the Makefile. ExamplesBuilding this PR# ./configure && make dist
Done: apache-couchdb-2.2.0-794ea816c.tar.gz
# dev/run -n 1 >/dev/null &
# curl localhost:15984
{"couchdb":"Welcome","version":"2.2.0-794ea816c","git_sha":"794ea816c","features":["pluggable-storage-engines","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
# When building and running from the generated tarball:
{"couchdb":"Welcome","version":"2.2.0","git_sha":"794ea816c","features":["pluggable-storage-engines","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}I think that, perhaps, we want to keep the sha suffix on this one inside the tarball. It's not a tagged release of any sort. Then again, the Jenkins auto-built tarballs rarely make their way out of the developer community, and if they do, people use them at their own peril. The presence of the This is a minor concern and I don't think blocks this PR. Tagging this branch (locally!!!)
|
|
And the windows build is broken, because the new I'll fix Windows issues in another ticket. For now this is +1 |
|
And the windows build is broken, because the new I'll fix Windows issues in another ticket. For now this is +1 |
Closes #1309