diff --git a/.gitignore b/.gitignore index 6a44291..f5a2216 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +/.dapper +/bin /assets /build /.buildroot-ccache @@ -7,3 +9,4 @@ /.dl /Dockerfile *.swp +/.trash-cache diff --git a/Dockerfile.dapper b/Dockerfile.dapper index f2e954b..4f89341 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -11,3 +11,6 @@ ENV DAPPER_OUTPUT ./dist ENV SHELL /bin/bash ENV HOME ${DAPPER_SOURCE} WORKDIR ${DAPPER_SOURCE} + +ENTRYPOINT ["./scripts/entry"] +CMD ["ci"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d7d72a1 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +TARGETS := $(shell ls scripts) + +.dapper: + @echo Downloading dapper + @curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > .dapper.tmp + @@chmod +x .dapper.tmp + @./.dapper.tmp -v + @mv .dapper.tmp .dapper + +$(TARGETS): .dapper + ./.dapper $@ + +trash: .dapper + ./.dapper -m bind trash + +trash-keep: .dapper + ./.dapper -m bind trash -k + +deps: trash + +.DEFAULT_GOAL := ci + +.PHONY: $(TARGETS) diff --git a/config/kernel-config b/config/kernel-config index bd76579..34f279d 100644 --- a/config/kernel-config +++ b/config/kernel-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.4.10 Kernel Configuration +# Linux/x86 4.4.13 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -4439,6 +4439,7 @@ CONFIG_ACPI_WMI=m # CONFIG_TOSHIBA_HAPS is not set # CONFIG_TOSHIBA_WMI is not set # CONFIG_ACPI_CMPC is not set +# CONFIG_INTEL_HID_EVENT is not set # CONFIG_INTEL_IPS is not set # CONFIG_IBM_RTL is not set # CONFIG_SAMSUNG_LAPTOP is not set @@ -5374,6 +5375,9 @@ CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_TEXTSEARCH=y diff --git a/scripts/build-common b/scripts/build-common index 55f91ec..d7c1b24 100644 --- a/scripts/build-common +++ b/scripts/build-common @@ -1,8 +1,8 @@ #!/bin/bash set -e -: ${KERNEL_URL:="https://github.com/rancher/linux/archive/Ubuntu-4.4.0-23.41-rancher2.tar.gz"} -: ${KERNEL_SHA1:="62d171607f7f816b277fb4d4d58fb08a0c7960e5"} +: ${KERNEL_URL:="https://github.com/rancher/linux/archive/Ubuntu-4.4.0-30.49-rancher.tar.gz"} +: ${KERNEL_SHA1:="34b4b41128bed2f8ce585fbee1b893f47b1985da"} : ${ARTIFACTS:=$(pwd)/assets} : ${BUILD:=/usr/src} : ${CONFIG:=$(pwd)/config} diff --git a/scripts/build-kernel b/scripts/build-kernel index e9cc224..2039125 100755 --- a/scripts/build-kernel +++ b/scripts/build-kernel @@ -4,12 +4,13 @@ set -e cd $(dirname $0)/.. source scripts/build-common +source scripts/version export CCACHE_DIR="${HOME}/.kernel-ccache" export CC="ccache gcc" export PATH="/usr/lib/ccache:$PATH" KERNEL=$(basename ${KERNEL_URL}) -DIR=${KERNEL/.tar.*//} +DIR=${VERSION} FIRMWARE=$(readlink -f scripts/firmware) MODULE_LIST=$(readlink -f modules.list) MODULE_EXTRA_LIST=$(readlink -f modules-extra.list) diff --git a/scripts/entry b/scripts/entry new file mode 100755 index 0000000..931adda --- /dev/null +++ b/scripts/entry @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +trap "rm -f $HOME/.bash_history" exit + +mkdir -p bin +if [ -e ./scripts/$1 ]; then + ./scripts/"$@" +else + "$@" +fi diff --git a/scripts/extract b/scripts/extract index 28498fa..e6b8106 100755 --- a/scripts/extract +++ b/scripts/extract @@ -4,9 +4,10 @@ set -e cd $(dirname $0)/.. source scripts/build-common +source scripts/version KERNEL=$(basename ${KERNEL_URL}) -DIR=${KERNEL/.tar.*//} +DIR=${VERSION} mkdir -p ${BUILD} cd ${BUILD} diff --git a/scripts/version b/scripts/version new file mode 100755 index 0000000..983b02b --- /dev/null +++ b/scripts/version @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ -n "$(git status --porcelain --untracked-files=no)" ]; then + DIRTY="-dirty" +fi + +COMMIT=$(git rev-parse --short HEAD) +GIT_TAG=$(git tag -l --contains HEAD | head -n 1) + +if [[ -z "$DIRTY" && -n "$GIT_TAG" ]]; then + VERSION=$GIT_TAG +else + VERSION="${COMMIT}${DIRTY}" +fi