diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rwxr-xr-x | build_repo.sh | 61 | ||||
-rw-r--r-- | myrepo-cert/Makefile | 33 | ||||
-rw-r--r-- | myrepo-cert/files/key.pub | 2 | ||||
-rw-r--r-- | myrepo-cert/files/key.sec | 2 | ||||
-rw-r--r-- | omnia.lua | 7 |
6 files changed, 107 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ea0f13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.* +!.gitignore diff --git a/build_repo.sh b/build_repo.sh new file mode 100755 index 0000000..dd7f6bc --- /dev/null +++ b/build_repo.sh @@ -0,0 +1,61 @@ +#!/bin/sh +set -e +#set -x + +cd `dirname $0` + +BOARD=omnia +if [ "$1" = "omnia" ] || [ "$1" = "turris" ] || [ "$1" = "all" ]; then + BOARD=$1 + shift +fi + +# remove previous build +rm -rf .omnia-sdk +rm -rf .turris-sdk + +if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then + echo "Getting current SDK for omnia" + curl "https://repo.turris.cz/omnia/OpenWrt-SDK-mvebu_gcc-4.8-linaro_musl-1.1.15_eabi.Linux-x86_64.tar.bz2" \ + | tar -xjf - + mv OpenWrt-SDK-mvebu_* .omnia-sdk +fi +if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then + echo "Getting current SDK for turris" + wget "https://repo.turris.cz/turris/OpenWrt-SDK-mpc85xx-p2020-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2" \ + | tar -xjf - + mv OpenWrt-SDK-mpc85xx* .turris-sdk +fi + +echo "Copy packages" +for d in *; do + [ -f $d/Makefile ] || continue + [ -d .omnia-sdk ] && cp -r $d .omnia-sdk/package/ + [ -d .turris-sdk ] && cp -r $d .turris-sdk/package/ +done + +if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then + echo "Building omnia" + (cd .omnia-sdk; make $@) +fi +if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then + echo "Building turris" + (cd .turris-sdk; make $@) +fi + +deploy() { + echo "Sign and deploy $1" + SEC=$PWD/myrepo-cert/files/key.sec + pushd .$1-sdk + staging_dir/host/bin/usign -S -s $SEC -m bin/mvebu-musl/packages/base/Packages + scp bin/mvebu-musl/packages/base/* freebsd@cynerd.cz:/usr/local/www/data/myrepo/$1/ + popd + scp $1.lua freebsd@cynerd.cz:/usr/local/www/data/myrepo/$1.lua +} + +if [ "$BOARD" = "omnia" ] || [ "$BOARD" = "all" ]; then + deploy omnia +fi +if [ "$BOARD" = "turris" ] || [ "$BOARD" = "all" ]; then + deploy turris +fi diff --git a/myrepo-cert/Makefile b/myrepo-cert/Makefile new file mode 100644 index 0000000..99f47fe --- /dev/null +++ b/myrepo-cert/Makefile @@ -0,0 +1,33 @@ +# +## Copyright (C) 2016 CZ.NIC z.s.p.o. (http://www.nic.cz/) +# +## This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# # +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=myrepo-cert +PKG_VERSION:=1 +PKG_MAINTAINER:=Karel Koci +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/myrepo-cert + TITLE:=myrepo-cert +endef + +define Build/Compile + true +endef + +define Package/myrepo-cert/install + $(INSTALL_DIR) $(1)/etc/opkg/keys + $(INSTALL_DIR) $(1)/etc/updater/keys + + cp ./files/key.pub $(1)/etc/opkg/keys/cfb977a0d53c5424 + cp ./files/key.pub $(1)/etc/updater/keys/myrepo.pub +endef + +$(eval $(call BuildPackage,myrepo-cert)) diff --git a/myrepo-cert/files/key.pub b/myrepo-cert/files/key.pub new file mode 100644 index 0000000..4173ed5 --- /dev/null +++ b/myrepo-cert/files/key.pub @@ -0,0 +1,2 @@ +untrusted comment: private key cfb977a0d53c5424 +RWTPuXeg1TxUJC6EOmawdomx+1cuPaBx5g6B1A2nq0TI6Gf8mbRoU2w6 diff --git a/myrepo-cert/files/key.sec b/myrepo-cert/files/key.sec new file mode 100644 index 0000000..5731869 --- /dev/null +++ b/myrepo-cert/files/key.sec @@ -0,0 +1,2 @@ +untrusted comment: public key cfb977a0d53c5424 +RWRCSwAAAAC/rGfdjaQn9ZWPHvtqQrzm9dkd/bHNF4XPuXeg1TxUJCiZuBFQLxqoolLnufYHIHHGvgFbJpjnT1v8X2W831l+LoQ6ZrB2ibH7Vy49oHHmDoHUDaerRMjoZ/yZtGhTbDo= diff --git a/omnia.lua b/omnia.lua new file mode 100644 index 0000000..8e864e9 --- /dev/null +++ b/omnia.lua @@ -0,0 +1,7 @@ +-- This is myrepo omnia configuration +INFO("Using myrepo") +Repository "myrepo" "http://cynerd.cz/myrepo/omnia/" { + priority = 70, pubkey = "file:///etc/updater/keys/myrepo.pub" +} + +Install "myrepo-cert" {critical=true} |