CASA Requirement: Package Naming
This page describes requirements for CASA package names in sufficient detail so all CASA developers building, publishing, or deploying CASA packages will deliver consistent results, and all CASA users will see consistent results when they work with CASA packages on different platforms.
STATUS: Incomplete Draft
Required Use
All CASA packages shall use a consistent naming scheme to ensure CASA developers and users working on different platforms understand what version of CASA is contained in a given CASA package.
Constraints
CASA package names must be valid for all package management systems used by Linux distributions and OS X versions CASA is
required to support. While contents of package names must be consistent across supported OSs, punctuation in package names and installed copies of packages may differ to comply with Linux distribution and OS X conventions.
CASA Version Identification
CASA package names must identify the version of CASA (source code and package build attempt) contained in the package. See
CASAVersionIdentification.
CASA package names must concisely identify the OS, OS version, and CPU the CASA package was built and tested on. Collectively, these will be called the "platform".
- For Linux, this will be "linux-"[Linux kernel major and minor version], and x86_64.
- There have been some discussions within CASA of supporting ARM and POWER CPUs in the future. CASA Requirements for supporting these CPUs are not clear, but it is cheap to plan for for possibilities.
- For OS X, this will be, "os_x-"[OS X major and minor version], and x86_64.
- There have been rumors that Apple may include ARM CPUs in more products. CASA Requirements for supporting these devices are not clear, but it is cheap to plan for possibilities.
Notes:
- Some 32 bit Linux distributions are still available. We want to make it clear our packages will not run on this distributions.
- Some 32 bit Macs are still in use. We want to make it clear our packages will not run on this computers.
Linux Universal tar Examples
Example package names:
- casa-4.3.1-1-linux-2.6-x86_64.tar.gz -- a test package built and tested a computer with Linux 2.6 kernel and an x86_64 CPU.
- after unpacking, the top level directory would be "casa-4.3.1-1-linux-2.6-x86_64/"
- casa-4.4.0-2-linux-3.2-x86_64.tar.gz -- a stable package built and tested on a computer with a Linux 3.2 kernel and an x86_64 CPU, repackaged.
- after unpacking, the top level directory would be "casa-4.4.0-2-linux-3.2-x86_64/"
- casa-5.0.0-1-linux-3.13-x86_64.tar.gz -- a release package built and tested on a computer with a Linux 3.13 kernel and an x86_64 CPU.
- after unpacking, the top level directory would be "casa-5.0.0-1-linux-3.13-x86_64/"
Linux dpkg Examples
TBD
Linux rpm Examples
TBD
OS X Examples
Example package names:
- casa-4.3.1-1-os_x-10.7-x86_64.TBD -- a test package built and tested an OS X 10.7 computer with an x86_64 CPU.
- after unpacking, the top level directory would be "casa-4.3.1-1-os_x-10.7-x86_64.app/"
- casa-4.4.0-2-os_x-10.8-x86_64.TBD -- a stable package built and tested on an OS X 10.8 computer with an x86_64 CPU, repackaged.
- after unpacking, the top level directory would be "casa-4.4.0-2-os_x-10.8-x86_64.app[/"
- casa-5.0.0-1-os_x-10.9-x86_64.TBD -- a release package built and tested on an OS X 10.7 computer with an x86_64 CPU.
- after unpacking, the top level directory would be "casa-5.0.0-1-os_x-10.9-x86_64.app/"
TODO
--
ScottRankin - 2013-06-01