#extract #applications #information #third-party #tool #directory #deployment-ready

bin+lib sancus

Sancus is an open-source tool that extracts third-party license information from a deployment-ready application

1 unstable release

0.1.0 Nov 19, 2024

#181 in Operating systems

Download history 227/week @ 2024-11-19 62/week @ 2024-11-26 141/week @ 2024-12-03 128/week @ 2024-12-10

558 downloads per month
Used in mxl-relm4-components

MIT/Apache

55KB
1K SLoC

CI checks dependency status Conventional Commits

Sancus: Overview

NOTE: Sancus currently expects deep integration with the build system, and is difficult to deploy to environments dissimilar to the X-Software environment. We do not have our tooling set up to accept external contributions at this time.

Sancus is an open-source tool that extracts third-party license information from a deployment-ready application.

Currently, Sancus solely operates on AppDir packages consisting of VCPKG libraries and operating system libraries. It collects information from both sources to extract licenses of all shared libraries that an application uses directly or indirectly within the AppDir. The result is a JSON file containing all license types and the texts.

The obtained third-party license information can be exported to directory structure in the AppDir or the

If you've never used Sancus before, or if you're trying to figure out how to use it, check out our Getting Started section.

Table of Contents

Getting Started

Quick Start

Integration into a rust project

Prerequisites:

Add the following line to your Cargo.toml.

sancus = { git = "https://github.com/x-software-com/sancus" }

Development: Linux

Prerequisites:

First, download and setup the repository.

$ cargo install --locked just
$ git clone https://github.com/x-software-com/sancus
$ cd sancus
$ just setup

To build the Sancus execute:

$ cargo build

Installing Linux Developer Tools

Across the different distributions of Linux, there are different packages you'll need to install:

  • AlmaLinux, Rocky Linux, CentOS and other RedHat-based distributions:
$ sudo dnf install gcc python39 git
  • Debian, Ubuntu, popOS, and other Debian-based distributions:
$ sudo apt-get update
$ sudo apt-get install build-essential git python3
  • ArchLinux, Manjaro Linux, EndeavourOS, and other ArchLinux-based distributions:
$ sudo pacman -Sy python git

For any other distributions, make sure you're installing at least gcc and g++. If you want to add instructions for your specific distribution, [please open a PR][contributing:submit-pr]!

Privacy

We believe that privacy is a human right, period.

Sancus does respect your privacy, we collect no data and do not send any telemetry or usage data.

License

The code in this repository is licensed under either of APACHE-2.0 License or MIT License at your option.

Dependencies

~8–15MB
~191K SLoC