Alon Bar-Lev has posted comments on this change. Change subject: build: closer to open source versioning and release cycle ......................................................................
Patch Set 1: (5 inline comments) Thanks! Some answers. .................................................... Commit Message Line 62: - PACKAGE_RPM_RELEASE - rpm release Line 63: Line 64: Unlike current versioning implementation we disconnect the versioning Line 65: from the git branch information, as the git branch information is aware Line 66: of /past/ versions, while a branch is work toward the /next/ version. The benefit is once a release was made, the nightly are at next release, which is what expected from tree. Milestone are clearly marked while master is always the work toward the next milestone. Line 67: Line 68: A valid sequence for release cycle: Line 69: PRODUCT_VERSION=4.11.0 Line 70: PRODUCT_VERSION_SUFFIX=_master Line 91: PACKAGE_RPM_RELEASE=1 Line 92: Line 93: PRODUCT_VERSION=4.12.0 Line 94: PRODUCT_VERSION_SUFFIX=_master Line 95: PACKAGE_RPM_RELEASE=0.0.$(echo PRODUCT_VERSION_SUFFIX | sed 's/^_//') Right, this is downstream versioning, rpm, has nothing to do with upstream, and provided as convenience. 0.N is pre-release, while N is a sequence to organize milestones (rpm limitation). The date is important for snapshots to be sorted in sane order. The git is just eye catcher, we can remove it if you like. We should go to master after milestone, even if there are no commits, as preparation for the 'next' commit, and nightly/snapshop builds. Line 96: Line 97: Build automation may inject release suffix to the binary package name, an Line 98: example exist in the 'make rpm' target. Line 99: .................................................... File configure.ac Line 18: # Refer to the README and COPYING files for full details of the license Line 19: # Line 20: Line 21: # Autoconf initialization Line 22: define([PRODUCT_VERSION], [4.11.0]) I deal with one person at a time :) Line 23: define([PRODUCT_VERSION_SUFFIX], [_master]) Line 24: AC_INIT([vdsm], PRODUCT_VERSION[]PRODUCT_VERSION_SUFFIX, [[email protected]]) Line 25: AC_CONFIG_AUX_DIR([build-aux]) Line 26: .................................................... File Makefile.am Line 84: Line 85: srpm: dist Line 86: SUFFIX=".`date -u +%Y%m%d%H%M%S`"; \ Line 87: if [ -d "$(top_srcdir)/.git" ]; then \ Line 88: SUFFIX="$$SUFFIX.git`GIT_DIR="$(top_srcdir)/.git" $(GIT) rev-parse --short=16 HEAD`"; \ No problem to use 7... The date is important to have it sorted in sane order, as git is nonsense... Line 89: fi; \ Line 90: rpmbuild \ Line 91: -ts \ Line 92: --define="release_suffix $$SUFFIX" \ Line 96: rpm: dist Line 97: SUFFIX=".`date -u +%Y%m%d%H%M%S`"; \ Line 98: if [ -d "$(top_srcdir)/.git" ]; then \ Line 99: SUFFIX="$$SUFFIX.git`GIT_DIR="$(top_srcdir)/.git" $(GIT) rev-parse --short=16 HEAD`"; \ Line 100: fi; \ I wanted to avoid execution of git commands always.... I can add a phony target to write this information to a file to be used by these two if it is a problem. Line 101: rpmbuild \ Line 102: -ta \ Line 103: --define="release_suffix $$SUFFIX" \ Line 104: $(if $(BUILDID),--define="extra_release .$(BUILDID)") \ -- To view, visit http://gerrit.ovirt.org/12448 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I1a73089d47804ca31e3a4d80aaf811fa011ba1f3 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <[email protected]> Gerrit-Reviewer: Alon Bar-Lev <[email protected]> Gerrit-Reviewer: Dan Kenigsberg <[email protected]> Gerrit-Reviewer: Federico Simoncelli <[email protected]> Gerrit-Reviewer: Moran Goldboim <[email protected]> _______________________________________________ vdsm-patches mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches
