Changes between Version 14 and Version 15 of AnatomyOfAPackage

07/02/13 09:33:26 (11 years ago)



  • AnatomyOfAPackage

    v14 v15  
    3232== Creating a package == 
     34At this point, it is worth discussing "native" vs "non-native" packages.  A "native" package is a package that only exists in Debian, for which Debian itself is the "upstream" maintainer.  A "non-native" package is a package of software written outside the Debian project, but packaged for Debian.  The primary difference is the version numbering scheme.  A Debian native package will have a version number like "1.0".  A non-native package will have the software's real version number, plus a hyphen and a number indicating the version of the _packaging_ itself.  For example, foobar-3.2-5 indicates that it is version 3.2 of the foobar software, and this is the 5th version of the Debian packaging for version 3.2.  (If version 3.3 was then released, the first version in Debian would be 3.3-1).   
    3436While you can create all the special files listed above from scratch, Debhelper provides a tool to make things easy for you.  Assuming you have a piece of software in a directory whose name is of the format ''package-version'' (e.g. `foobar-1.0`), you can use the `dh_make` command: 
    4042That will create a single binary (`-s`) package with the GPL license (`-c gpl`), and will create a .orig tarball for you in the parent directory (`--createorig`).  It will create all the required files for you in the `debian` directory, and then a variety of optional example files (with the `.ex` extension), which you can either customize or delete.   
     44If the directory does not have that name, or has an unusual name, you can use the `-p` option to pass a name and a version (e.g. dh_make -p foobar_1.0 -c gpl -s --createorig).    
    4246Next: [wiki:BuildingAPackage]