dotnet-installer/packaging/debian/package_tool
Bryan Thornbury b122190cd8 Set Docker Internal UID to Host UID, Remove Postbuild step
These changes will use docker's new Dockerfile Arguments to
pass the Host User ID to the docker container at build time.
This allows the docker container to set it's internal user
to match that of the host. When using shared volumes between
the host and container, this prevents files created in the
container from being owned by root.

This will solve our problem of needing a cleanup step after
every ubuntu CI run.
2015-11-25 00:33:53 +00:00
..
package_files/debian Move Debian Package Tools to packaging folder 2015-11-19 14:45:20 -08:00
scripts Fix permissions of moved package files 2015-11-19 16:29:31 -08:00
setup Fix permissions of moved package files 2015-11-19 16:29:31 -08:00
templates/debian Move Debian Package Tools to packaging folder 2015-11-19 14:45:20 -08:00
test Set Docker Internal UID to Host UID, Remove Postbuild step 2015-11-25 00:33:53 +00:00
example_config.json Move Debian Package Tools to packaging folder 2015-11-19 14:45:20 -08:00
package_tool Fix permissions of moved package files 2015-11-19 16:29:31 -08:00
README.md Move Debian Package Tools to packaging folder 2015-11-19 14:45:20 -08:00
test.sh Fix permissions of moved package files 2015-11-19 16:29:31 -08:00

Debian Packagify

A tool which consumes a directory structure to produce a debian package.

Usage

package_tool [path to input directory] [path to output directory]

Input Directory Spec

package/           
    $/             (Contents in this directory will be placed absolutely according to their relative path)
        usr/lib/somelib.so    (ex. This file gets placed at /usr/lib/somelib.so at install)
    package_root/       (Contents placed in install root)
    samples/                (Contents here will be installed as samples)
    docs/             (Contents will be installed as manpages)
    debian_config.json  (See example below)
    docs.json                 (For manpage generation)
    (ex. dotnet-commands-test.sh)

full example debian_config.json

Note: remove all comments before using this

{
    "maintainer_name":"Microsoft",                              // [required]
    "maintainer_email": "optimus@service.microsoft.com",        // [required]

    "package_name": "Packagify_Test",                           // [required]

    "short_description": "This is a test package",               // [required] Max. 60 chars
    "long_description": "This is a longer description of the test package", // [required]
    "homepage": "http://testpackage.com",                        // (optional no default)

    "release":{
        "package_version":"0.1",                                // [required]
        "package_revision":"1",                                 // [required]
        "urgency" : "low",                                      // (optional default="low") https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Urgency
        "changelog_message" : "some stuff here"                 // [required]
    },

    "control": {                                                // (optional)
        "priority":"standard",                                  // (optional default="standard") https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
        "section":"devel",                                      // (optional default="misc") https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
        "architecture":"all"                                    // (optional default="all" ) 
    },

    "copyright": "2015 Microsoft",                              // [required]
    "license": {                                                // [required]
        "type": "some_license",                                 // [required]
        "full_text": "full license text here"                   // [required]
    },

    "debian_dependencies" : {                                   // (optional no default)
        "package_name": {
            "package_version" : "1.0.0"                         // (optional within package_name no default)
        }
    }, 

    "symlinks": {                                               // (optional no defaults)
        "path_relative_to_package_root/test_exe.sh" : "usr/bin/test_exe.sh" 
    }
}