Skip to content

Commit

Permalink
chore: tools auto-converted to the new format
Browse files Browse the repository at this point in the history
Manual changes: Makefile, drone.yml

Updated ca-certificates checksums.

Signed-off-by: Andrey Smirnov <[email protected]>
  • Loading branch information
smira committed Oct 8, 2019
1 parent 96cb1b9 commit dd90696
Show file tree
Hide file tree
Showing 71 changed files with 2,502 additions and 65 deletions.
11 changes: 7 additions & 4 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ steps:
- name: build-pull-request
image: autonomy/build-container:latest
pull: always
environment:
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
commands:
- docker buildx create --driver docker-container --platform linux/amd64 --name local --use
- bldr pack --progress=plain -o autonomy -f pkg.yaml
- make
when:
event:
include:
Expand All @@ -40,10 +42,11 @@ steps:
from_secret: docker_username
DOCKER_PASSWORD:
from_secret: docker_password
BINDIR: /usr/local/bin
BUILDKIT_HOST: ${BUILDKIT_HOST=tcp://buildkitd.ci.svc:1234}
commands:
- docker buildx create --driver docker-container --platform linux/amd64 --name local --use
- docker login --username "$${DOCKER_USERNAME}" --password "$${DOCKER_PASSWORD}"
- bldr pack --progress=plain -o autonomy -f pkg.yaml --push=true --cache-to=autonomy/tools:cache --cache-from=autonomy/tools:cache
- make PUSH=true
when:
event:
exclude:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin/
91 changes: 91 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
BINDIR ?= ./bin

BUILDKIT_VERSION ?= v0.6.0
BUILDKIT_IMAGE ?= moby/buildkit:$(BUILDKIT_VERSION)
BUILDKIT_HOST ?= tcp://0.0.0.0:1234
BUILDKIT_CONTAINER_NAME ?= talos-buildkit
BUILDKIT_CONTAINER_STOPPED := $(shell docker ps --filter name=$(BUILDKIT_CONTAINER_NAME) --filter status=exited --format='{{.Names}}' 2>/dev/null)
BUILDKIT_CONTAINER_RUNNING := $(shell docker ps --filter name=$(BUILDKIT_CONTAINER_NAME) --filter status=running --format='{{.Names}}' 2>/dev/null)

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
BUILDCTL_ARCHIVE := https://github.com/moby/buildkit/releases/download/$(BUILDKIT_VERSION)/buildkit-$(BUILDKIT_VERSION).linux-amd64.tar.gz
endif
ifeq ($(UNAME_S),Darwin)
BUILDCTL_ARCHIVE := https://github.com/moby/buildkit/releases/download/$(BUILDKIT_VERSION)/buildkit-$(BUILDKIT_VERSION).darwin-amd64.tar.gz
endif

ifeq ($(UNAME_S),Linux)
GITMETA := https://github.com/talos-systems/gitmeta/releases/download/v0.1.0-alpha.2/gitmeta-linux-amd64
endif
ifeq ($(UNAME_S),Darwin)
GITMETA := https://github.com/talos-systems/gitmeta/releases/download/v0.1.0-alpha.2/gitmeta-darwin-amd64
endif


COMMON_ARGS = --progress=auto
COMMON_ARGS += --frontend=dockerfile.v0
COMMON_ARGS += --allow security.insecure
COMMON_ARGS += --local context=.
COMMON_ARGS += --local dockerfile=.
COMMON_ARGS += --opt filename=Pkgfile

ifeq ($(PUSH),true)
PUSH_ARGS = ,push=true
else
PUSH_ARGS =
endif

TAG ?= $(shell $(BINDIR)/gitmeta image tag)

all: ci tools

.PHONY: ci
ci: builddeps buildkitd

.PHONY: builddeps
builddeps: gitmeta buildctl

gitmeta: $(BINDIR)/gitmeta

$(BINDIR)/gitmeta:
@mkdir -p $(BINDIR)
@curl -L $(GITMETA) -o $(BINDIR)/gitmeta
@chmod +x $(BINDIR)/gitmeta

buildctl: $(BINDIR)/buildctl

$(BINDIR)/buildctl:
@mkdir -p $(BINDIR)
@curl -L $(BUILDCTL_ARCHIVE) | tar -zxf - -C $(BINDIR) --strip-components 1 bin/buildctl

.PHONY: buildkitd
buildkitd:
ifeq (tcp://0.0.0.0:1234,$(findstring tcp://0.0.0.0:1234,$(BUILDKIT_HOST)))
ifeq ($(BUILDKIT_CONTAINER_STOPPED),$(BUILDKIT_CONTAINER_NAME))
@echo "Removing exited talos-buildkit container"
@docker rm $(BUILDKIT_CONTAINER_NAME)
endif
ifneq ($(BUILDKIT_CONTAINER_RUNNING),$(BUILDKIT_CONTAINER_NAME))
@echo "Starting talos-buildkit container"
@docker run \
--name $(BUILDKIT_CONTAINER_NAME) \
-d \
--privileged \
-p 1234:1234 \
$(BUILDKIT_IMAGE) \
--addr $(BUILDKIT_HOST) \
--allow-insecure-entitlement security.insecure
@echo "Wait for buildkitd to become available"
@sleep 5
endif
endif


.PHONY: tools
tools: buildkitd gitmeta
@$(BINDIR)/buildctl --addr $(BUILDKIT_HOST) \
build \
--opt target=$@ \
--output type=image,name=docker.io/autonomy/$@:$(TAG)$(PUSH_ARGS) \
$(COMMON_ARGS)
1 change: 1 addition & 0 deletions Pkgfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# syntax = docker.io/autonomy/bldr:2b3b543-frontend
32 changes: 32 additions & 0 deletions argp-standalone/patches/argp-standalone-1.3-musl-fix-inline.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Effectively disable inlining of functions which are defined
in argp-fmtstream.c because of name space conflicts when
including argp-namefrob.h

--- argp-fmtstream.h 2003-12-11 09:37:05.000000000 +0100
+++ argp-fmtstream.h 2016-09-27 09:19:48.891000000 +0200
@@ -192,6 +192,7 @@
extern int _argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);

+#ifdef ARGP_USE_INLINE
#ifdef __OPTIMIZE__
/* Inline versions of above routines. */

@@ -208,7 +209,7 @@
#endif

#ifndef ARGP_FS_EI
-#define ARGP_FS_EI extern inline
+#define ARGP_FS_EI static inline
#endif

ARGP_FS_EI size_t
@@ -306,6 +307,8 @@

#endif /* __OPTIMIZE__ */

+#endif /* ARGP_USE_INLINE */
+
#endif /* ARGP_FMTSTREAM_USE_LINEWRAP */

#endif /* argp-fmtstream.h */
40 changes: 40 additions & 0 deletions argp-standalone/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: argp-standalone
install:
- make
- patch
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
steps:
- sources:
- url: http://www.lysator.liu.se/~nisse/misc/argp-standalone-1.3.tar.gz
destination: argp-standalone.tar.gz
sha256: dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be
sha512: 58c3feb8852b90248fff39e49b5019bd0dcf646790c3eaf70c3262eb81dda31a61dc0a45963c7b4a010e80fc14b37288dcb3b3ef48d02f2d33dd72c1c62e62d9
prepare:
- |
tar -xzvf argp-standalone.tar.gz --strip-components=1
patch -p0 </pkg/patches/argp-standalone-1.3-musl-fix-inline.patch
# We don't use a build directory because compiling fails with
#14 5.809 ../../testsuite/ex1.c:8:10: fatal error: argp.h: No such file or directory
#14 5.809 #include <argp.h>
#14 5.809 ^~~~~~~~
#14 5.809 ../../testsuite/ex3.c:55:10: fatal error: argp.h: No such file or directory
#14 5.809 #include <argp.h>
./configure \
--prefix=${TOOLCHAIN} \
--disable-static
build:
- |
make -j $(nproc)
install:
- |
mkdir -p /rootfs${TOOLCHAIN}/lib
mkdir -p /rootfs${TOOLCHAIN}/include
cp -v libargp.a /rootfs${TOOLCHAIN}/lib
cp -v argp.h /rootfs${TOOLCHAIN}/include
finalize:
- from: /rootfs
to: /
32 changes: 32 additions & 0 deletions autoconf/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: autoconf
install:
- make
- perl
- m4
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
steps:
- sources:
- url: https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz
destination: autoconf.tar.xz
sha256: 64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684
sha512: 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
prepare:
- |
tar -xJvf autoconf.tar.xz --strip-components=1
mkdir build
cd build
../configure \
--prefix=${TOOLCHAIN}
build:
- |
cd build
make -j $(nproc)
install:
- |
cd build
make DESTDIR=/rootfs install
finalize:
- from: /rootfs
to: /
32 changes: 32 additions & 0 deletions automake/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: automake
install:
- make
- perl
- autoconf
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
steps:
- sources:
- url: https://ftp.gnu.org/gnu/automake/automake-1.16.1.tar.xz
destination: automake.tar.xz
sha256: 5d05bb38a23fd3312b10aea93840feec685bdf4a41146e78882848165d3ae921
sha512: 4013bd31f4903b10875caa7d6ac16a14623a4eb91aa758924dee5b990e234fb50848d131e2dbdbbbc32f89c41a14f9c52a0064c37aa6760c524d607b354b13c3
prepare:
- |
tar -xJf automake.tar.xz --strip-components=1
mkdir build
cd build
../configure \
--prefix=${TOOLCHAIN}
build:
- |
cd build
make -j $(nproc)
install:
- |
cd build
make DESTDIR=/rootfs install
finalize:
- from: /rootfs
- to: /
31 changes: 31 additions & 0 deletions bash/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: bash
install:
- make
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
steps:
- sources:
- url: https://ftp.gnu.org/gnu/bash/bash-4.4.18.tar.gz
destination: bash.tar.gz
sha256: 604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23
sha512: bd3048338aded9dee31651011aaa46bc8fba83a27fa063e3d47bcbe85ebbd86816d9080d1a658cfbd1736a2c80e98fdb659019c192d332472b00aa305e0285b0
prepare:
- |
tar -xzf bash.tar.gz --strip-components=1
mkdir build
cd build
../configure \
--prefix=${TOOLCHAIN} \
--without-bash-malloc
build:
- |
cd build
make -j $(nproc)
install:
- |
cd build
make DESTDIR=/rootfs install
finalize:
- from: /rootfs
to: /
48 changes: 48 additions & 0 deletions bc/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: bc
install:
- make
- texinfo
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
steps:
- sources:
- url: https://ftp.gnu.org/gnu/bc/bc-1.07.1.tar.gz
destination: bc.tar.gz
sha256: 62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a
sha512: 02126d0db6b6ed06d56cfc292d6f5475ff1e574779d7e69c7809bbb1e13f946f57ea07da2a7666baa092507a951a822044b0970075f75eefe65a5c1999b75d34
prepare:
- |
tar -xzf bc.tar.gz --strip-components=1
cat > bc/fix-libmath_h << "EOF"
#! /bin/bash
sed -e '1 s/^/{"/' \
-e 's/$/",/' \
-e '2,$ s/^/"/' \
-e '$ d' \
-i libmath.h
sed -e '$ s/$/0}/' \
-i libmath.h
EOF
sed -i -e '/flex/s/as_fn_error/: ;; # &/' ./configure
mkdir build
cd build
../configure \
--prefix=${TOOLCHAIN} \
--with-readline \
--mandir=${TOOLCHAIN}/share/man \
--infodir=${TOOLCHAIN}/share/info
build:
- |
cd build
make -j $(nproc)
install:
- |
cd build
make DESTDIR=/rootfs install
finalize:
- from: /rootfs
to: /
33 changes: 33 additions & 0 deletions bison/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: bison
install:
- make
- perl
dependencies:
- image: docker.io/autonomy/toolchain:d1f6110
- stage: m4
steps:
- sources:
- url: https://ftp.gnu.org/gnu/bison/bison-3.0.5.tar.xz
destination: bison.tar.xz
sha256: 075cef2e814642e30e10e8155e93022e4a91ca38a65aa1d5467d4e969f97f338
sha512: 00b448db8abe91b07e32ff5273c6617bc1350d806f92073a9472f4c2f0de5d22c152795674171b74f2eb9eff8d36f8173b82dacb215601bb071ae39404d4a8a2
prepare:
- |
tar -xJf bison.tar.xz --strip-components=1
mkdir build
cd build
../configure \
--prefix=${TOOLCHAIN} \
FORCE_UNSAFE_CONFIGURE=1
build:
- |
cd build
make -j $(nproc)
install:
- |
cd build
make DESTDIR=/rootfs install
finalize:
- from: /rootfs
to: /
Loading

0 comments on commit dd90696

Please sign in to comment.