Search code examples
platform

Standard OS naming scheme


I am releasing a multi-platform application. It will potentially be released on Windows, OSX, and Linux distributions.

Users expect to install it wherever they like, so it will not be a package like RPM. It will be a simple archive file.

I plan to put the platform name in the name of the downloadable file, like:

myapp-0.6.3-osname.tgz

While I could use anything for osname, I would like to follow whatever standard there is.

Is there a standard?


Solution

  • I've no idea if there is a standard. Here's Java's current naming convention for JDK SE 8u45, and it seems pretty good to me:

    Product / File Description                 File Size    Download
    ------------------------------------------------------------------------------------
    Linux x86                                  146.89 MB    jdk-8u45-linux-i586.rpm
    Linux x86                                  166.88 MB    jdk-8u45-linux-i586.tar.gz
    Linux x64                                  145.19 MB    jdk-8u45-linux-x64.rpm
    Linux x64                                  165.24 MB    jdk-8u45-linux-x64.tar.gz
    Mac OS X x64                               221.98 MB    jdk-8u45-macosx-x64.dmg
    Solaris SPARC 64-bit (SVR4 package)        131.73 MB    jdk-8u45-solaris-sparcv9.tar.Z
    Solaris SPARC 64-bit                       92.9 MB      jdk-8u45-solaris-sparcv9.tar.gz
    Solaris x64 (SVR4 package)                 139.51 MB    jdk-8u45-solaris-x64.tar.Z
    Solaris x64                                95.88 MB     jdk-8u45-solaris-x64.tar.gz
    Windows x86                                175.98 MB    jdk-8u45-windows-i586.exe
    Windows x64                                180.44 MB    jdk-8u45-windows-x64.exe
    

    So the convention is basically {appname}-{version}-{OS}-{architecture}.{extension}.