Information for a package manager to retain.
andyfaff
Structure
string packageName
uint32 packageVersion //version number of the package.
string patchLevel
string packageID //packageID in the repository
string packageURL
string packageContact //email address of package maintainer (should this be mangled?)
string md5hash //the hash of the downloaded package for some security.
uint32 dateOfFirstInstall
uint32 lastUpdated
uint16 isCurrentlyInstalled //if it's uninstalled, then the record should still exist
Wave/t fileList //a list of the files included in the package.
Wave fileType //bit set for 1= Igor Procedure, 2=XOP, 3=Help File
uint16 structVersion //describes this structure
Endstructure
string packageName
uint32 packageVersion //version number of the package.
string patchLevel
string packageID //packageID in the repository
string packageURL
string packageContact //email address of package maintainer (should this be mangled?)
string md5hash //the hash of the downloaded package for some security.
uint32 dateOfFirstInstall
uint32 lastUpdated
uint16 isCurrentlyInstalled //if it's uninstalled, then the record should still exist
Wave/t fileList //a list of the files included in the package.
Wave fileType //bit set for 1= Igor Procedure, 2=XOP, 3=Help File
uint16 structVersion //describes this structure
Endstructure
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
uint32 main
uint32 minor
string patchlevel
EndStructure
so it is flexible and easy to use. E.g. patchlevel is nice if you are doing releases from your version control system.
I don't understand your remark for the md5hash string, but maybe we should use SHA1 instead.
February 7, 2011 at 07:46 am - Permalink
Static StrConstant thePackageFolder="root:Packages:LinkVS"
Static StrConstant theProcedureFile = "LinkVS.ipf"
Static StrConstant thePackageInfo = "A control panel to use the LinkDisplay functions"
Static StrConstant thePackageAuthor = "Jeffrey J Weimer"
Static Constant hasHelp = 1
Static Constant thePackageVersion = 1.5
Static Constant removable = 1
I have considered whether to convert this to be in an initialization structure rather than top-level strings. Recommendations would be appreciated.
I would suggest parameters sourceURL and versioncheckURL that will denote locations of the package code and place to check for recent version, respectively.
Where are you proposing this structure is to be resident -- within each procedure file (or top level procedure file), or alternatively in a central location for each user (ie, /.../WaveMetrics/Igor Pro Package Receipts)?
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
February 7, 2011 at 10:50 am - Permalink
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
February 7, 2011 at 10:56 am - Permalink