On Fri, 10 May 2013, Jed Brown wrote: > Satish Balay <balay at mcs.anl.gov> writes: > > > Perhaps this was partly discussed in various threads. > > > > With the new release Jed suggested that we go with the standard > > release naming convention and switching patch updates from > > PETSC_VERSION_PATCH to PETSC_VERSION_SUBMINOR. > > > > [I'm fine with this change but want to discuss a bit more] > > > > The new release numbers would be: > > > > petsc-3.4.0 [or should this be petsc-3.4 - like > > http://mercurial.selenic.com/release/?C=M;O=D ] > > I would be fine with either. Maybe "petsc-3.4" will give a stronger > impression that the minor version defines the interface, so that > upgrading subminor versions is comfortable? > > > petsc-3.4.1 > > petsc-3.4.2 > > etc > > > > And then: > > petsc-3.5.0 > > petsc-3.5.1 > > etc.. > > > > Currently we have PETSC_VERSION_PATCH & PETSC_VERSION_PATCH_DATE for > > representing the patch releases. > > > > We would have to remove PETSC_VERSION_PATCH - and change > > PETSC_VERSION_PATCH_DATE to PETSC_VERSION_SUBMINOR_DATE? > > What is the utility of PETSC_VERSION_PATCH_DATE?
In the current scheme we have: [for each petsc-3.3-pX tarball] PETSC_VERSION_DATE: date of the primary release [i.e when the first 3.3 tarball was spun] PETSC_VERSION_PATCH_DATE: date of the patched tarball release [i.e when 3.3-pX was spun] And we use PETSC_VERSION_DATE [manually transcribed] in a bunch of places. - https://www.mcs.anl.gov/petsc/ "The current version of PETSc is 3.3; released June 5, 2012" - https://www.mcs.anl.gov/petsc/documentation/changes/index.html - manual But PETSC_VERSION_PATCH_DATE: is the date the tarball is respun [with patches] - and that doesn't change the above docs. Satish > I might leave PETSC_VERSION_PATCH defined to 0, reserved for packagers > to use if they decide to backport features or bug fixes. In any case, I > think that leaving it defined doesn't hurt anything, and will make more > scripts continue to work. > > > [and some of these scripts would need fixing to work with this change] > > > > Satish > > ---------------- > > $ git grep PETSC_VERSION_PATCH > > bin/maint/builddist:version_patch=`grep '^#define PETSC_VERSION_PATCH ' > > include/petscversion.h |tr -s ' ' | cut -d ' ' -f 3` > > bin/maint/builddist:#add in PETSC_VERSION_PATCH_DATE and PETSC_VERSION_GIT > > bin/maint/builddist:echo Using PETSC_VERSION_PATCH_DATE: > > ${version_patch_date} > > bin/maint/builddist: sed -e "s/#define PETSC_VERSION_PATCH_DATE.*/#define > > PETSC_VERSION_PATCH_DATE \"${version_patch_date}\"/" | \ > > bin/maint/createpatch:version_patch=`grep '^#define PETSC_VERSION_PATCH ' > > include/petscversion.h |tr -s ' ' | cut -d ' ' -f 3` > > bin/maint/createpatch: sed -e "s/#define PETSC_VERSION_PATCH .*/#define > > PETSC_VERSION_PATCH ${new_version_patch}/" > include/petscversion.h > > bin/maint/rebuildtar:PATCH_VERSION=`grep '^#define PETSC_VERSION_PATCH ' > > ${PETSC_DIR}/include/petscversion.h |tr -s ' ' | cut -d ' ' -f 3` > > bin/maint/submitPatch.py: patchRE = re.compile(r'^#define > > PETSC_VERSION_PATCH([\s]+)(?P<patchNum>\d+)[\s]*$'); > > bin/maint/submitPatch.py: lines.append('#define > > PETSC_VERSION_PATCH'+m4.group(1)+str(patchNum)+'\n') > > bin/petscnagupgrade.py: patchversion = int(re.compile(' > > PETSC_VERSION_PATCH[ ]*([0-9]*)').search(pv).group(1)) > > bin/petscnagupgrade.py: apatchversion = int(re.compile(' > > PETSC_VERSION_PATCH[ ]*([0-9]*)').search(pv).group(1)) > > config/BuildSystem/config/packages/PETSc.py: patchRE = > > re.compile(r'^#define PETSC_VERSION_PATCH([\s]+)(?P<patchNum>\d+)[\s]*$'); > > config/BuildSystem/config/packages/PETSc.py: lines.append('#define > > PETSC_VERSION_PATCH'+m4.group(1)+str(patchNum)+'\n') > > config/PETSc/petsc.py: patchRE = re.compile(r'^#define > > PETSC_VERSION_PATCH([\s]+)(?P<patchNum>\d+)[\s]*$'); > > config/PETSc/petsc.py: lines.append('#define > > PETSC_VERSION_PATCH'+m4.group(1)+str(patchNum)+'\n') > > include/petscversion.h:#define PETSC_VERSION_PATCH_DATE "unknown" > > makefile: version_patch=`grep '^#define PETSC_VERSION_PATCH ' > > include/petscversion.h |tr -s ' ' | cut -d ' ' -f 3`; \ > > setup.py: 'patch' : > > re.compile(r"#define\s+PETSC_VERSION_PATCH\s+(\d+)"), > > src/sys/objects/version.c: ierr = PetscSNPrintf(version,len,"Petsc Release > > Version %d.%d.%d, Patch %d, %s ",PETSC_VERSION_MAJOR,PETSC_VERSION_MINOR, > > PETSC_VERSION_SUBMINOR,PET >
