[petsc-dev] release naming scheme
Barry Smith
bsmith at mcs.anl.gov
Fri May 10 22:51:14 CDT 2013
I'm fine with bagging the patch business and going with standard approaches.
Barry
On May 10, 2013, at 10:41 PM, Jed Brown <jedbrown at mcs.anl.gov> 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?
>
> 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
More information about the petsc-dev
mailing list