Giter Club home page Giter Club logo

docker-apk-build's Introduction

Docker APK Build Environment

An alpine linux environment for building apk packages using docker.

See http://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package for additional documentation and https://engineering.fundingcircle.com/blog/2015/04/28/create-alpine-linux-repository/ for some background about testing and signing packages.

Setup

To sign packages you'll need a key pair. To generate a pair of keys for this purpose run:

# builds an image and starts a container
make build
# generate keys
~/bin/setup.sh

Building a Package

Run make build to start the docker environment. In the build environment cd to the package directory which contains an APKBUILD file and run the build.

cd /work/<repo>/<package>
# Condtionally rebuild checksums if files has changed
abuild checksum
# Run the build
abuild -c -r -P /target

The built packages will be in ./target on the host.

Indexing and Signing

cd /target/<repo>/<arch>/
apk index -o APKINDEX.tar.gz *.apk
abuild-sign APKINDEX.tar.gz

Testing the Package

make test
apk add <package>@custom

docker-apk-build's People

Contributors

dnephin avatar keegancsmith avatar simon-engledew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-apk-build's Issues

I got some problem when build bind9

Could you help me see this:

libtool: link: gcc -I/work/main/bind/src/bind-9.11.2 -I../.. -I./include -I./unix/include -I. -I/work/main/bind/src/bind-9.11.2/lib/lwres/include -I../../lib/lwres/unix/include -I../../lib/lwres/include -I/work/main/bind/src/bind-9.11.2/lib/dns/include -I../../lib/dns/include -I/work/main/bind/src/bind-9.11.2/lib/bind9/include -I../../lib/bind9/include -I/work/main/bind/src/bind-9.11.2/lib/isccfg/include -I../../lib/isccfg/include -I/work/main/bind/src/bind-9.11.2/lib/isccc/include -I../../lib/isccc/include -I/work/main/bind/src/bind-9.11.2/lib/isc/include -I../../lib/isc -I../../lib/isc/include -I../../lib/isc/unix/include -I../../lib/isc/pthreads/include -I../../lib/isc/x86_32/include -D_REENTRANT -DOPENSSL -D_GNU_SOURCE -Os -fomit-frame-pointer -D_GNU_SOURCE -I/usr/include/libxml2 -fPIC -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -Wl,--as-needed -o .libs/named .libs/builtin.o .libs/client.o .libs/config.o .libs/control.o .libs/controlconf.o .libs/fuzz.o .libs/interfacemgr.o .libs/listenlist.o .libs/log.o .libs/logconf.o .libs/main.o .libs/notify.o .libs/query.o .libs/server.o .libs/sortlist.o .libs/statschannel.o .libs/tkeyconf.o .libs/tsigconf.o .libs/update.o .libs/xfrout.o .libs/zoneconf.o .libs/lwaddr.o .libs/lwresd.o .libs/lwdclient.o .libs/lwderror.o .libs/lwdgabn.o .libs/lwdgnba.o .libs/lwdgrbn.o .libs/lwdnoop.o .libs/lwsearch.o unix/.libs/os.o unix/.libs/dlz_dlopen_driver.o  ../../lib/lwres/.libs/liblwres.so -L/lib ../../lib/dns/.libs/libdns.so ../../lib/bind9/.libs/libbind9.so /work/main/bind/src/bind-9.11.2/lib/isccfg/.libs/libisccfg.so ../../lib/isccfg/.libs/libisccfg.so /work/main/bind/src/bind-9.11.2/lib/dns/.libs/libdns.so ../../lib/isccc/.libs/libisccc.so /work/main/bind/src/bind-9.11.2/lib/isc/.libs/libisc.so ../../lib/isc/.libs/libisc.so -lcrypto -ldl -lcap -lpthread -lxml2 -lz -lm
rm -f lwresd
ln named lwresd
ln: lwresd: Operation not permitted
make[2]: *** [Makefile:540: lwresd] Error 1
make[2]: Leaving directory '/work/main/bind/src/bind-9.11.2/bin/named'
make[1]: *** [Makefile:75: subdirs] Error 1
make[1]: Leaving directory '/work/main/bind/src/bind-9.11.2/bin'
make: *** [Makefile:81: subdirs] Error 1
>>> ERROR: bind: all failed
>>> bind: Uninstalling dependencies...
WARNING: Ignoring APKINDEX.726ccd33.tar.gz: No such file or directory
(1/12) Purging .makedepends-bind (0)
(2/12) Purging bash (4.4.12-r0)
Executing bash-4.4.12-r0.pre-deinstall
(3/12) Purging libressl-dev (2.5.5-r4)
(4/12) Purging libcap-dev (2.25-r1)
(5/12) Purging perl (5.26.1-r1)
(6/12) Purging linux-headers (4.4.6-r2)
(7/12) Purging bsd-compat-headers (0.7.1-r0)
(8/12) Purging libxml2-dev (2.9.7-r0)
(9/12) Purging zlib-dev (1.2.11-r1)
(10/12) Purging libxml2 (2.9.7-r0)
(11/12) Purging readline (7.0.003-r0)
(12/12) Purging libbz2 (1.0.6-r6)
Executing busybox-1.27.2-r2.trigger
OK: 188 MiB in 70 packages

I'm not modify anything, i want to build bind9 with geoip to use edns.

Any some thing I should do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.