Skip to content

Commit 8c4cecf

Browse files
committed
Added extras dir with content to create ipmitool APK
1 parent 76c6410 commit 8c4cecf

File tree

5 files changed

+108
-0
lines changed

5 files changed

+108
-0
lines changed

extras/ipmitool/APKBUILD

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Contributor:
2+
# Maintainer:
3+
pkgname=ipmitool
4+
pkgver=1.8.17
5+
pkgrel=0
6+
pkgdesc="IPMItool provides a simple command-line interface to IPMI-enabled devices."
7+
url="https://sourceforge.net/projects/ipmitool"
8+
arch="all"
9+
license="BSD"
10+
depends=""
11+
depends_dev="libc-dev make automake autoconf libtool"
12+
makedepends="$depends_dev"
13+
install=""
14+
subpackages=""
15+
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2"
16+
17+
builddir="$srcdir/$pkgname-$pkgver"
18+
build() {
19+
cd "$builddir"
20+
LDFLAGS='-static' ./configure --prefix=/usr
21+
make || return 1
22+
}
23+
24+
package() {
25+
cd "$builddir"
26+
make DESTDIR="$pkgdir" install || return 1
27+
rm -rf $pkgdir/usr/share/doc $pkgdir/usr/share/man
28+
}
29+
30+
md5sums="f7408aa2b40333db0413d4aab6bbe978 ipmitool-1.8.17.tar.bz2"
31+
sha256sums="97fa20efd9c87111455b174858544becae7fcc03a3cb7bf5c19b09065c842d02 ipmitool-1.8.17.tar.bz2"
32+
sha512sums="b1fa95247c8b496ae1a4c01da032514849330297f2e28209ff211a7e61ed8226ef96fd330a7b79ff8b8bf04aef3cab06ec6765a985e5b51915dda28fb9f3c826 ipmitool-1.8.17.tar.bz2"

extras/ipmitool/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM alpine:latest
2+
3+
RUN apk --no-cache add alpine-sdk coreutils \
4+
&& adduser -G abuild -g "Alpine Package Builder" -s /bin/ash -D builder \
5+
&& echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
6+
COPY README.md /
7+
COPY entrypoint.sh /
8+
9+
WORKDIR /home/builder/
10+
USER builder
11+
12+
ENTRYPOINT ["/entrypoint.sh"]
13+
14+
15+
ENV RSA_PRIVATE_KEY_NAME ssh.rsa
16+
ENV PACKAGER_PRIVKEY /home/builder/${RSA_PRIVATE_KEY_NAME}

extras/ipmitool/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Alpine Linux ipmitool build
2+
===========================
3+
4+
The latest repos for Alpine Linux has dropped the ipmitool package. As
5+
as result it is necessary to build ipmitool from scratch to get the APK
6+
package file.
7+
8+
Simple Build
9+
------------
10+
11+
From a host that has Docker installed simply execute the build.sh script.
12+
This script will create an Alpine Linux container to create a build of
13+
ipmitool, fetch the distribution, build and create the APK package. At
14+
the end of the script, the APK file will be copied to the parent directory
15+
to be included in the Hanlon-Microkernel container.
16+
17+
Manual Build
18+
------------
19+
20+
If you really have a special case, then you can build manually by creating
21+
the Docker container and then executing a shell to manually build ipmitool.
22+
The following commands will get you to the command prompt in the container:
23+
24+
docker build -t ipmibuild .
25+
docker run -it -v $(pwd):/home/builder ipmibuild ash
26+

extras/ipmitool/build.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
rm -rf packages pkg src
6+
7+
docker build -t ipmibuild .
8+
9+
docker run -it --rm -v $(pwd):/home/builder ipmibuild
10+
11+
cp packages/home/x86_64/ipmitool-*.apk ../..

extras/ipmitool/entrypoint.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/ash
2+
3+
# ----------------------------------------------------------------------------
4+
# Docker entrypoint script for building Alpine packages
5+
# ----------------------------------------------------------------------------
6+
set -e
7+
8+
# Default application if nothing is specified
9+
if [ -z "${1:0:1}" ]; then
10+
set -- start_apk_build
11+
fi
12+
13+
case $1 in
14+
start_apk_build)
15+
set -- abuild-keygen -a -n; abuild unpack; abuild build; abuild rootpkg
16+
;;
17+
help|info)
18+
set -- cat /README.md
19+
;;
20+
esac
21+
22+
#echo "Executing: $@"
23+
exec "$@"

0 commit comments

Comments
 (0)