Skip to content

Action for creating statically-linked .deb package for Rust projects using cargo deb

Notifications You must be signed in to change notification settings

jamesmcm/cargo-deb-armv7-debian

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cargo deb Build Environment (debian armv7)

Provides a build environment for executing cargo deb [1] and producing statically linked binaries for the built Debian (.deb) package.

This build on a debian:buster base image and targets armv7-unknown-linux-musleabihf. The musl installation is possible thanks to the cross project [2].

The interface for this package was inspired/copied from the cargo-static-build [3] action.

[1] Cargo Deb provided by mmstick

[2] MUSL environment made possible thanks to cross dual-licensed under Apache 2.0 or MIT

[3] https://github.com/zhxiaogg/cargo-static-build

NOTE: This package may fail to build your project if your build links against other OS-provided libraries. Feel free to open a pull-request to modify the Dockerfile so your project can build.

Inputs

cmd - The command to be executed inside the container. Defaults to cargo deb --target=armv7-unknown-linux-musleabihf

Outputs

None, besides the deb package that is built. The built .deb will be located in target/armv7-unknown-linux-musleabih/debian/<DEB>.

Example Usage

name: Deb Static Build

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Deb Build
      uses: ebbflow-io/[email protected]

A working example can be found in use by Ebbflow to build its client package for various OS and CPU architectures here.

About

Action for creating statically-linked .deb package for Rust projects using cargo deb

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 70.0%
  • Dockerfile 30.0%