igor

package module
v0.0.0-...-51cd0e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2021 License: MIT Imports: 6 Imported by: 0

README

Igor

Igor is a simple command line tool to download Kernel headers for multiple Linux distributions.

Support

  • Debian
  • Ubuntu
  • RHEL
  • CentOS
  • Fedora
  • OpenSUSE Leap
  • SLES
  • Google Container Optimized OS
  • WSL2

Usage

On a host

$ igor download --output /tmp

Inside a container

You need to bind mount a few folders from the host:

  • Ubuntu / Debian /etc/apt (if you used a different path, you can use the --apt-config-dir flag)

  • RHEL / CentOS / Fedora

    • /etc/yum.repos.d (if you used a different path, you can use the --yum-repos-dir flag)
    • /etc/pki
    • /etc/rhsm (for RHEL with an active subscription)
  • OpenSUSE

    • /etc/zypp (if you used a different path, you can use the --yum-repos-dir flag)

Building

Requirements

Both APT and Container Optimized OS use pure Golang implementationns.

To support RPM based distributions, you need libdnf. On Fedora, simply use dnf install libdnf-devel. To target machines that do not have libdnf, an omnibus project is available here.

Compilation

$ go build -tags dnf

If you used the omnibus method described above, you should use:

$ PKG_CONFIG_PATH=/opt/igor/embedded/lib/pkgconfig CGO_LDFLAGS="-Wl,-rpath,/opt/igor/embedded/lib" go build -tags dnf

Testing

Tests are using the Molecule framework.

To run the tests, you can either:

  • Compile the Igor dependencies using omnibus as described in Requirements.
  • Download a precompiled version of it here. You then need to decompress it in your local Igor repository folder.

To run the tests for Debian, simply run in the tests folder:

$ molecule test -s debian

You can also run the tests for centos, debian, opensuse and ubuntu.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBackend

func GetBackend(target types.Target) (types.Backend, error)

func GetTarget

func GetTarget() (types.Target, error)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL