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 Platform Identification

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

This topic: Software/CASA > Software > WebHome > CASASoftwareEngineering > CASAPackageNaming
Topic revision: 2014-02-25, ScottRankin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback