azure-linux-dev-tools

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2026 License: MIT

README

Azure Linux Dev Tools

Azure Linux Dev Tools is a collection of utilities useful for development of the Azure Linux distro.

azldev

azldev is a developer tool for working on the Azure Linux distro.

It supports:

  • Parsing, resolving, and querying TOML-based metadata defining the Azure Linux distro.
  • Preparing the sources for a source component for building with mock, koji, or similar standard build tool/service.
  • Fetching source archives from lookaside caches.
  • Developer convenience utilities for locally building individual packages and images.
Quick start
  1. Install golang and other prerequisites via your system's package manager, e.g.:

    dnf install -y golang mock dnf-utils mock-rpmautospec
    

    Note: mock-rpmautospec plugin hooks rpmautospec into mock's build lifecycle. It pulls rpmautospec as a dependency which processes %autorelease and %autochangelog macros in spec files.

  2. Install azldev:

    go install github.com/microsoft/azure-linux-dev-tools/cmd/azldev@main
    
  3. To ensure you can build using mock you must be a member of the mock group, e.g.:

    usermod -aG mock $USER
    

    Note that this may require re-login or newgrp to ensure your environment registers the group update.

Completion

You can install completion extensions for azldev with your shell by running:

eval "$(azldev completion bash)"

Similar support exists for fish and zsh.

User documentation

To learn more about the TOML-based metadata that azldev supports, azldev's command-line usage, or other usage information, please consult this repo's User Guide.

Developing and contributing

Please see our Contribution Guidelines for our project.

For development setup and workflow, please consult our Developer Guide.

Getting Help

Have questions, found a bug, or need a new feature? Open an issue in our GitHub repository.

For security issues, please see the security policy.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Directories

Path Synopsis
cmd
azldev command
helloworld command
internal
app/azldev
Package azldev implements the core of the azldev command-line tool.
Package azldev implements the core of the azldev command-line tool.
app/azldev/core/componentbuilder/componentbuilder_test
Package componentbuilder is a generated GoMock package.
Package componentbuilder is a generated GoMock package.
app/azldev/core/components
Package components provides abstractions and utilities for representing, querying, and managing software components within an Azure Linux project.
Package components provides abstractions and utilities for representing, querying, and managing software components within an Azure Linux project.
app/azldev/core/components/components_testutils
Package components_testutils is a generated GoMock package.
Package components_testutils is a generated GoMock package.
app/azldev/core/specs
Package specs provides abstractions and utilities for accessing and parsing RPM spec files associated with components in Azure Linux projects.
Package specs provides abstractions and utilities for accessing and parsing RPM spec files associated with components in Azure Linux projects.
app/azldev/core/specs/specs_testutils
Package specs_testutils is a generated GoMock package.
Package specs_testutils is a generated GoMock package.
buildenv/buildenv_testutils
Package buildenv_testutils is a generated GoMock package.
Package buildenv_testutils is a generated GoMock package.
global/opctx/opctx_test
Package opctx_test is a generated GoMock package.
Package opctx_test is a generated GoMock package.
providers/rpmprovider/rpmprovider_test
Package rpmprovider_test is a generated GoMock package.
Package rpmprovider_test is a generated GoMock package.
providers/sourceproviders/fedorasource/fedorasource_test
Package fedorasource_test is a generated GoMock package.
Package fedorasource_test is a generated GoMock package.
providers/sourceproviders/sourceproviders_test
Package sourceproviders_test is a generated GoMock package.
Package sourceproviders_test is a generated GoMock package.
rpm
rpm/rpm_test
Package rpm_test is a generated GoMock package.
Package rpm_test is a generated GoMock package.
utils/buildtestenv
Package buildtestenv provides the environment variables used by testing and build tools.
Package buildtestenv provides the environment variables used by testing and build tools.
utils/cloudinit
Package cloudinit provides utilities for generating cloud-init configuration.
Package cloudinit provides utilities for generating cloud-init configuration.
utils/dirdiff
Package dirdiff provides utilities for computing unified diffs between two directory trees.
Package dirdiff provides utilities for computing unified diffs between two directory trees.
utils/downloader/downloader_test
Package downloader_test is a generated GoMock package.
Package downloader_test is a generated GoMock package.
utils/fileperms
The fileperms package contains a set of enums for commonly used linux file permissions.
The fileperms package contains a set of enums for commonly used linux file permissions.
utils/git/git_test
Package git_test is a generated GoMock package.
Package git_test is a generated GoMock package.
utils/hostinfo
Package hostinfo provides utilities to query capabilities and characteristics of the host system that this code is running on.
Package hostinfo provides utilities to query capabilities and characteristics of the host system that this code is running on.
utils/iso
Package iso provides utilities for creating ISO images.
Package iso provides utilities for creating ISO images.
utils/kiwi
Package kiwi provides utilities for interacting with the kiwi-ng image builder tool.
Package kiwi provides utilities for interacting with the kiwi-ng image builder tool.
utils/localrepo
Package localrepo provides utilities for managing local RPM repositories.
Package localrepo provides utilities for managing local RPM repositories.
utils/qemu
Package qemu provides utilities for running QEMU virtual machines.
Package qemu provides utilities for running QEMU virtual machines.
utils/reflectable
Package reflectable implements facilities for formatting arbitrary Go values into human-readable tables, using reflection.
Package reflectable implements facilities for formatting arbitrary Go values into human-readable tables, using reflection.
utils/reflectable/reflectable_testutils
Package reflectable_testutils is a generated GoMock package.
Package reflectable_testutils is a generated GoMock package.
utils/rootfs
Package rootfs provides an afero.Fs implementation backed by Go's os.Root API.
Package rootfs provides an afero.Fs implementation backed by Go's os.Root API.
magefiles
magemcp command
pkg
scenario

Jump to

Keyboard shortcuts

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