Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andy5995/docker-slackware-build-essential
Dockerfile for building a Slackware image with essential build tools
https://github.com/andy5995/docker-slackware-build-essential
ci ci-container continuous continuous-integration docker docker-image dockerfile github-actions public-domain slackware test-automation unlicense workflows
Last synced: about 2 months ago
JSON representation
Dockerfile for building a Slackware image with essential build tools
- Host: GitHub
- URL: https://github.com/andy5995/docker-slackware-build-essential
- Owner: andy5995
- License: unlicense
- Created: 2023-01-04T19:21:06.000Z (almost 2 years ago)
- Default Branch: trunk
- Last Pushed: 2024-10-28T05:33:02.000Z (about 2 months ago)
- Last Synced: 2024-10-28T08:49:46.791Z (about 2 months ago)
- Topics: ci, ci-container, continuous, continuous-integration, docker, docker-image, dockerfile, github-actions, public-domain, slackware, test-automation, unlicense, workflows
- Language: Dockerfile
- Homepage:
- Size: 104 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Docker Image CI](https://github.com/andy5995/docker-slackware-build-essential/actions/workflows/docker.yml/badge.svg)](https://github.com/andy5995/docker-slackware-build-essential/actions/workflows/docker.yml)
# Slackware Build Essential Docker ImageThis image aims to provide the essential tools for building software in a
Slackware environment. It can be used as a [service
container](https://docs.github.com/en/actions/using-containerized-services/about-service-containers#creating-service-containers)
in a GitHub action.The image can be pulled from [Docker
Hub](https://hub.docker.com/repository/docker/andy5995/slackware-build-essential).docker pull andy5995/slackware-build-essential:15.0
## Included package managers
* [slackpkg](https://docs.slackware.com/slackware:slackpkg)
* [sbopkg](https://sbopkg.org/)
* [slapt-get](https://github.com/jaos/slapt-get)If you're not familiar with any of these, see the pages linked. You may also
post a question in the
[Discussions](https://github.com/andy5995/docker-slackware-build-essential/discussions).## Example for use in a GitHub workflow
```yml
slackware:
runs-on: ubuntu-latest
container: andy5995/slackware-build-essential:15.0
steps:
- uses: actions/checkout@v3
- name: Change default mirror
run: echo "https://mirrors.ocf.berkeley.edu/slackware/slackware64-15.0/" > /etc/slackpkg/mirrors
- name: Install dependencies
run: |
echo n | slackpkg update
echo y | slackpkg install libassuan
#
# Note that in some cases, sbopkg may return 0 on error
# https://github.com/sbopkg/sbopkg/issues/85
sbopkg -r
sbopkg -B -i Pykka -e stop
slapt-get -u
slapt-get --install libX11
- name: Build and test with meson
run: |
meson setup _build
cd _build
meson compile
meson test
```If you would like to randomly rotate the
[mirror](https://ftp.ussg.indiana.edu/linux/slackware/slackware64/source/ap/slackpkg/files/mirrors-x86_64.sample)
used each time:```yml
- name: Change default mirror
run: |
mirror=( \
http://ftp.sunet.se/mirror/slackware.com/slackware64-15.0/ \
http://ftp.tu-chemnitz.de/pub/linux/slackware/slackware64-15.0/ \
http://ftp.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/slackware64-15.0/ \
http://slackware.mirrors.tds.net/pub/slackware/slackware64-15.0/ \
)
echo ${mirror[$(shuf -i 0-3 -n 1)]} > /etc/slackpkg/mirrors
```## Customize
This is a [template
repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template),
which means you can create a repository from this repo, then customize the
Dockerfile to include all the dependencies your projects needs. You can push
your new image directly to [Docker Hub after creating a few access
tokens](https://docs.docker.com/build/ci/github-actions/).When you're ready to use the image in your new workflow, simply change the
'container' line (shown in the example workflow above).## Projects using this in their CI:
* [rmw](https://github.com/theimpossibleastronaut/rmw)
* [curl](https://github.com/curl/curl)## Building the Image Locally
docker build -t .
## LICENSE
The license included in this repository only applies to the files within this
repository; it does not apply to the files retrieved when the image is
created, nor to the files contained within the docker image itself.