1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-11 02:13:38 +09:00
Satori/tools-local/dotnet-deb-tool
Youssef Victor d14b50ae21
Fix trailing whitespaces (#40891)
* Trim trailing whitespaces

* Match raw with rendered

* Delete extra asterisks and |

* Update ELT Hooks - tail calls.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2020-08-19 17:29:01 -07:00
..
tool Fix a few more license headers (#38973) 2020-07-09 11:32:01 -04:00
dotnet-deb-tool.csproj Rename Installer test directory to tests (#34542) 2020-06-01 11:15:44 -07:00
example_config.json Prepare Core-Setup for repo consolidation (dotnet/core-setup#8709) 2019-10-31 18:47:56 +01:00
prefercliruntime Prepare Core-Setup for repo consolidation (dotnet/core-setup#8709) 2019-10-31 18:47:56 +01:00
Program.cs Fix a few more license headers (#38973) 2020-07-09 11:32:01 -04:00
README.md Fix trailing whitespaces (#40891) 2020-08-19 17:29:01 -07:00

Debian Package Tool

This is a tool which simplifies the creation process of a debian package. Use of this tool requires creating a json configuration, and appropriate directory structure with your desired files to be included.

Usage

Usage: package_tool [-i <INPUT_DIR>] [-o <OUTPUT_DIRECTORY>]
[-n <PACKAGE_NAME>] [-v <PACKAGE_VERSION>] [-h]

REQUIRED:
    -i <INPUT_DIR>: Input directory conforming to package_tool conventions and debian_config.json
    -o <OUTPUT_DIR>: Output directory for debian package and other artifacts

OPTIONAL:
    -n <PACKAGE_NAME>: name of created package, will override value in debian_config.json
    -v <PACKAGE_VERSION>: version of created package, will override value in debian_config.json
    -h: Show this message

NOTES:
    See Below for more information on package_tool conventions and debian_config.json format

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)

Note: The default install root is /usr/share/{package_name} where package_name is replaced with the name of the created package

full example debian_config.json

Note: Use the commentless version here.

{
    "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"
    }
}