deb-version(5)


NAME

   deb-version - Debian package version number format

SYNOPSIS

   [epoch:]upstream-version[-debian-revision]

DESCRIPTION

   Version  numbers  as used for Debian binary and source packages consist
   of three components. These are:

   epoch  This is a single (generally small) unsigned integer.  It may  be
          omitted,  in  which case zero is assumed.  If it is omitted then
          the upstream-version may not contain any colons.

          It is provided to allow mistakes in the version numbers of older
          versions  of  a  package,  and also a package's previous version
          numbering schemes, to be left behind.

   upstream-version
          This is the main part of the version number.  It is usually  the
          version  number  of the original ("upstream") package from which
          the .deb file has been made, if  this  is  applicable.   Usually
          this  will  be  in  the  same  format  as  that specified by the
          upstream author(s); however, it may need to  be  reformatted  to
          fit  into  the package management system's format and comparison
          scheme.

          The comparison behavior of the package  management  system  with
          respect   to   the  upstream-version  is  described  below.  The
          upstream-version portion of the version number is mandatory.

          The upstream-version  may  contain  only  alphanumerics  ("A-Za-
          z0-9")  and  the  characters . + - : ~ (full stop, plus, hyphen,
          colon, tilde) and should start with a digit.   If  there  is  no
          debian-revision  then  hyphens  are  not allowed; if there is no
          epoch then colons are not allowed.

   debian-revision
          This part of the version number specifies  the  version  of  the
          Debian  package  based  on the upstream version.  It may contain
          only alphanumerics and the characters + . ~  (plus,  full  stop,
          tilde)  and  is compared in the same way as the upstream-version
          is.

          It is optional; if it isn't present  then  the  upstream-version
          may not contain a hyphen.  This format represents the case where
          a piece of software was written specifically to be turned into a
          Debian  package,  and so there is only one "debianisation" of it
          and therefore no revision indication is required.

          It is conventional to restart the debian-revision  at  '1'  each
          time time the upstream-version is increased.

          Dpkg  will  break the version number apart at the last hyphen in
          the string (if there is one) to determine  the  upstream-version
          and  debian-revision.  The absence of a debian-revision compares
          earlier than the presence of one  (but  note  that  the  debian-
          revision is the least significant part of the version number).

   Sorting algorithm
   The  upstream-version  and  debian-revision  parts  are compared by the
   package management system using the same algorithm:

   The strings are compared from left to right.

   First the initial part of each string consisting entirely of  non-digit
   characters  is determined.  These two parts (one of which may be empty)
   are compared lexically.  If a difference is found it is returned.   The
   lexical comparison is a comparison of ASCII values modified so that all
   the letters sort earlier than all the non-letters and so that  a  tilde
   sorts  before  anything,  even  the  end  of  a part.  For example, the
   following parts are in sorted order: '~~', '~~a', '~', the empty  part,
   'a'.

   Then  the  initial  part of the remainder of each string which consists
   entirely of digit characters is determined.  The  numerical  values  of
   these  two  parts are compared, and any difference found is returned as
   the result of the comparison.   For  these  purposes  an  empty  string
   (which  can  only occur at the end of one or both version strings being
   compared) counts as zero.

   These two steps (comparing and removing initial non-digit  strings  and
   initial digit strings) are repeated until a difference is found or both
   strings are exhausted.

   Note that the purpose of epochs is to allow us to leave behind mistakes
   in  version  numbering,  and  to cope with situations where the version
   numbering scheme changes.  It is not  intended  to  cope  with  version
   numbers  containing  strings  of  letters  which the package management
   system cannot interpret (such as 'ALPHA'  or  'pre-'),  or  with  silly
   orderings.

NOTES

   The  tilde character and its special sorting properties were introduced
   in dpkg 1.10 and some parts of  the  dpkg  build  scripts  only  gained
   support for it later in the 1.10.x series.

SEE ALSO

   deb-control(5), deb(5), dpkg(1)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.