mirror of https://github.com/aredn/aredn.git
build: create top level make structure
This commit is contained in:
parent
8c5be0cf0b
commit
91ee8671b6
2
LICENSE
2
LICENSE
|
@ -1,4 +1,6 @@
|
|||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
|
||||
Copyright (C) 2018 Joe Ayers
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
|
|
|
@ -0,0 +1,173 @@
|
|||
include config.mk
|
||||
include openwrt.mk
|
||||
|
||||
# get main- and subtarget name from TARGET
|
||||
MAINTARGET=$(word 1, $(subst -, ,$(TARGET)))
|
||||
SUBTARGET=$(word 2, $(subst -, ,$(TARGET)))
|
||||
|
||||
GIT_BRANCH=$(shell git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')
|
||||
GIT_COMMIT=$(shell git rev-parse --short HEAD)
|
||||
|
||||
# set dir and file names
|
||||
TOP_DIR=$(shell pwd)
|
||||
OPENWRT_DIR=$(TOP_DIR)/openwrt
|
||||
TARGET_CONFIG=$(TOP_DIR)/configs/common.config $(TOP_DIR)/configs/$(MAINTARGET)-$(SUBTARGET).config
|
||||
UMASK=umask 022
|
||||
|
||||
# set variables based on private or travis-ci build
|
||||
ifeq ($(TRAVIS),true)
|
||||
$(info Travis-CI build ...)
|
||||
FW_VERSION=$(TRAVIS_BUILD_NUMBER)-$(TRAVIS_COMMIT)
|
||||
FW_REPO=$(TRAVIS_BUILD_PACKAGES)
|
||||
else
|
||||
FW_VERSION=$(PRIVATE_BUILD_VERSION)-$(GIT_BRANCH)-$(GIT_COMMIT)
|
||||
FW_REPO=$(PRIVATE_BUILD_PACKAGES)
|
||||
endif
|
||||
|
||||
# test for existing $TARGET-config or abort
|
||||
ifeq ($(wildcard $(TOP_DIR)/configs/$(TARGET).config),)
|
||||
$(error config for $(TARGET) not defined)
|
||||
endif
|
||||
|
||||
default: compile
|
||||
|
||||
# clone openwrt
|
||||
$(OPENWRT_DIR): .stamp-openwrt-removed
|
||||
git clone $(OPENWRT_SRC) $(OPENWRT_DIR)
|
||||
cd $(OPENWRT_DIR); git checkout $(OPENWRT_COMMIT)
|
||||
ln -sf $(TOP_DIR)/patches $(OPENWRT_DIR)/
|
||||
ln -sf $(TOP_DIR)/files $(OPENWRT_DIR)/
|
||||
touch .stamp-openwrt-cleaned
|
||||
rm -f .stamp-unpatched
|
||||
|
||||
# when updating openwrt.mk to point to another repo
|
||||
.stamp-openwrt-removed: openwrt.mk
|
||||
rm -rf $(OPENWRT_DIR)
|
||||
rm -f .stamp*
|
||||
touch $@
|
||||
|
||||
# clean up openwrt working copy
|
||||
openwrt-clean: stamp-clean-openwrt-cleaned .stamp-openwrt-cleaned
|
||||
.stamp-openwrt-cleaned: | $(OPENWRT_DIR) openwrt-clean-bin
|
||||
cd $(OPENWRT_DIR); \
|
||||
./scripts/feeds clean && \
|
||||
git clean -dff && git fetch && git reset --hard HEAD && \
|
||||
rm -rf .config feeds.conf build_dir/target-* logs/
|
||||
rm -rf $(TOP_DIR)/results
|
||||
rm -f $(TOP_DIR)/.pc
|
||||
rm -f .stamp-unpatched
|
||||
ln -sf $(TOP_DIR)/patches $(OPENWRT_DIR)/
|
||||
ln -sf $(TOP_DIR)/files $(OPENWRT_DIR)/
|
||||
touch $@
|
||||
|
||||
openwrt-clean-bin:
|
||||
rm -rf $(OPENWRT_DIR)/bin
|
||||
rm -rf $(TOP_DIR)/firmware/*
|
||||
|
||||
# update openwrt and checkout specified commit
|
||||
openwrt-update: .stamp-openwrt-updated .stamp-unpatched
|
||||
.stamp-openwrt-updated: stamp-clean-openwrt-updated .stamp-openwrt-cleaned
|
||||
cd $(OPENWRT_DIR); git checkout --detach $(OPENWRT_COMMIT)
|
||||
rm -f .stamp-unpatched
|
||||
touch $@
|
||||
|
||||
# feeds
|
||||
$(OPENWRT_DIR)/feeds.conf: feeds.conf
|
||||
cp $(TOP_DIR)/feeds.conf $@
|
||||
cat $(OPENWRT_DIR)/feeds.conf.default >> $@
|
||||
|
||||
# update feeds
|
||||
feeds-update: stamp-clean-feeds-updated .stamp-feeds-updated
|
||||
.stamp-feeds-updated: $(OPENWRT_DIR)/feeds.conf
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds uninstall -a
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds update -a
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install -p arednpackages olsrd
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install perl
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install -p arednpackages vtun
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install -a -p arednpackages
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install snmpd
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install ntpclient
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install socat
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install xinetd
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install luci-base
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install luci-lib-nixio
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install luci-lib-ip
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install luci-lib-jsonc
|
||||
cd $(OPENWRT_DIR); ./scripts/feeds install luaposix
|
||||
touch $@
|
||||
|
||||
# prepare patch
|
||||
pre-patch: stamp-clean-pre-patch .stamp-pre-patch
|
||||
.stamp-pre-patch: $(wildcard $(TOP_DIR)/patches/*) | $(OPENWRT_DIR)
|
||||
rm -f .stamp-unpatched
|
||||
touch $@
|
||||
|
||||
# patch openwrt working copy
|
||||
patch: stamp-clean-patched .stamp-patched
|
||||
.stamp-patched: .stamp-pre-patch .stamp-unpatched
|
||||
cd $(OPENWRT_DIR); quilt push -a || [ $$? = 2 ] && true
|
||||
rm -rf $(OPENWRT_DIR)/tmp
|
||||
touch $@
|
||||
|
||||
.stamp-build_rev: .FORCE
|
||||
ifneq (,$(wildcard .stamp-build_rev))
|
||||
ifneq ($(shell cat .stamp-build_rev),$(FW_VERSION))
|
||||
echo $(FW_VERSION) | diff >/dev/null -q $@ - || echo -n $(FW_VERSION) >$@
|
||||
endif
|
||||
else
|
||||
echo -n $(FW_VERSION) >$@
|
||||
endif
|
||||
|
||||
# openwrt config
|
||||
$(OPENWRT_DIR)/.config: .stamp-feeds-updated $(TARGET_CONFIG) .stamp-build_rev
|
||||
cat $(TARGET_CONFIG) >$(OPENWRT_DIR)/.config
|
||||
echo "CONFIG_VERSION_NUMBER=\"$(FW_VERSION)\"" >>$(OPENWRT_DIR)/.config
|
||||
echo "$(FW_VERSION)" >$(TOP_DIR)/files/etc/mesh-release
|
||||
echo "CONFIG_VERSION_REPO=\"$(FW_REPO)\"" >>$(OPENWRT_DIR)/.config
|
||||
$(UMASK); \
|
||||
$(MAKE) -C $(OPENWRT_DIR) defconfig
|
||||
|
||||
# prepare openwrt .config
|
||||
prepare: stamp-clean-prepared .stamp-prepared
|
||||
.stamp-prepared: .stamp-patched .stamp-feeds-updated $(OPENWRT_DIR)/.config
|
||||
touch $@
|
||||
|
||||
# compile
|
||||
compile: stamp-clean-compiled .stamp-compiled
|
||||
.stamp-compiled: .stamp-prepared .stamp-feeds-updated openwrt-clean-bin | $(TOP_DIR)/firmware
|
||||
$(TOP_DIR)/scripts/tests-prebuild.sh
|
||||
$(UMASK); \
|
||||
$(MAKE) -C $(OPENWRT_DIR) $(MAKE_ARGS)
|
||||
rm -f $(TOP_DIR)/firmware/AREDN*
|
||||
for FILE in $(TOP_DIR)/firmware/openwrt*; do \
|
||||
[ -e "$$FILE" ] || continue; \
|
||||
NEWNAME="$${FILE/openwrt-/AREDN-}"; \
|
||||
NEWNAME="$${NEWNAME/ar71xx-generic-/}"; \
|
||||
NEWNAME="$${NEWNAME/squashfs-/}"; \
|
||||
mv "$$FILE" "$$NEWNAME"; \
|
||||
done;
|
||||
$(TOP_DIR)/scripts/tests-postbuild.sh
|
||||
|
||||
$(TOP_DIR)/firmware:
|
||||
ln -sf $(OPENWRT_DIR)/bin/ar71xx $(TOP_DIR)/firmware
|
||||
|
||||
stamp-clean-%:
|
||||
rm -f .stamp-$*
|
||||
|
||||
stamp-clean:
|
||||
rm -f .stamp-*
|
||||
|
||||
# unpatch needs "patches/" in openwrt
|
||||
.stamp-unpatched:
|
||||
# RC = 2 of quilt --> nothing to be done
|
||||
cd $(OPENWRT_DIR); quilt pop -a -f || [ $$? = 2 ] && true
|
||||
rm -rf $(OPENWRT_DIR)/tmp
|
||||
rm -f .stamp-patched
|
||||
touch $@
|
||||
|
||||
clean: stamp-clean .stamp-openwrt-cleaned
|
||||
|
||||
|
||||
.PHONY: openwrt-clean openwrt-clean-bin openwrt-update patch feeds-update prepare compile stamp-clean clean
|
||||
.NOTPARALLEL:
|
||||
.FORCE:
|
|
@ -0,0 +1,111 @@
|
|||
# Amateur Radio Emergency Data Network AREDN(tm) Firmware
|
||||
|
||||
http://www.aredn.org
|
||||
|
||||
## Build Information
|
||||
|
||||
The AREDN firmware is based on OpenWrt/LEDE with additional packages and patches.
|
||||
A Makefile automates the entire process to create firmware images.
|
||||
|
||||
### Build Prerequisites
|
||||
|
||||
Please take a look at the [OpenWrt documentation](https://openwrt.org/docs/guide-developer/install-buildsystem)
|
||||
for a complete and up to date list of packages for your operating system.
|
||||
|
||||
On Ubuntu/Debian:
|
||||
```
|
||||
apt-get install git subversion build-essential libncurses5-dev \
|
||||
zlib1g-dev gawk unzip libxml-perl flex wget gettext quilt \
|
||||
python libssl-dev shellcheck lua5.1
|
||||
```
|
||||
|
||||
On openSUSE:
|
||||
```
|
||||
zypper install --type pattern devel_basis
|
||||
zypper install git subversion ncurses-devel zlib-devel gawk unzip \
|
||||
perl-libxml-perl flex wget gettext-runtime quilt python \
|
||||
libopenssl-devel shellcheck lua51
|
||||
```
|
||||
|
||||
### Building firmware images
|
||||
|
||||
To obtain the source and build the firmware locally use:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/aredn/aredn_ar71xx.git
|
||||
cd aredn_ar71xx
|
||||
vi config.mk # enter your callsign, etc.
|
||||
make
|
||||
```
|
||||
|
||||
Building the images may take minutes or hours depending on the machine.
|
||||
For more details see [build options](http://wiki.openwrt.org/doc/howto/build#make_options).
|
||||
Review the build options in config.mk: `-j <number of cores + 1>`.
|
||||
`V=s` will give more verbose error messages.
|
||||
|
||||
An internet connection is required during the build process. A good internet
|
||||
connection can improve the build time.
|
||||
|
||||
You need approximately 12GB of space for the build.
|
||||
|
||||
### Directory Layout
|
||||
|
||||
```
|
||||
Included in the git Repo:
|
||||
config.mk <- build settings
|
||||
openwrt.mk <- which openwrt repo and branch/tag/commit to use
|
||||
feeds.conf/ <- custom package feeds (edit to point to your clone of aredn_packages)
|
||||
files/ <- file system in AERDN created images, most customizations go here
|
||||
patches/ <- patches to openwrt go here
|
||||
scripts/ <- tests and other scripts called from the build
|
||||
configs/ <- definitions of features in the devices' kernel and what packages to include
|
||||
Makefile <- the build definition
|
||||
README.md <- this file
|
||||
|
||||
Created by the build:
|
||||
openwrt/ <- cloned openwrt repository
|
||||
firmware/ <- the build will place the images here
|
||||
results/ <- code checks and other test results in jUnit xml format
|
||||
```
|
||||
|
||||
### Patches with quilt
|
||||
|
||||
The patches directory contains quilt patches that are applied on top of the
|
||||
openwrt git repo defined in config.mk.
|
||||
|
||||
If a patch is not yet included upstream, it can be placed in the `patches` directory with
|
||||
the `quilt` tool. Please configure `quilt` as described in
|
||||
[OpenWrt Quilt](https://openwrt.org/docs/guide-developer/use-patches-with-buildsystem?s[]=quilt).
|
||||
|
||||
#### Add, modify or delete a patch
|
||||
|
||||
Switch to the openwrt directory:
|
||||
|
||||
```bash
|
||||
cd openwrt
|
||||
```
|
||||
Now you can use the `quilt` commands.
|
||||
|
||||
##### Example: add a patch
|
||||
|
||||
```bash
|
||||
quilt push -a # apply all patches
|
||||
quilt new 008-awesome.patch # tell quilt to create a new patch
|
||||
quilt edit somedir/somefile1 # edit files
|
||||
quilt edit somedir/somefile2
|
||||
quilt refresh # creates/updates the patch file
|
||||
```
|
||||
|
||||
## Submitting new features and patches to AREDN
|
||||
|
||||
The highlevel steps to submit to this repository https://github.com/aredn/aredn_ar71xx are:
|
||||
|
||||
1) create a github account and 'fork' this repo
|
||||
2) git commit a change into your fork, e.g. http://github.com/ae6xe/aredn_ar71xx
|
||||
3) create a pull request for http://github.com/aredn/aredn_ar71xx to consider your change
|
||||
|
||||
## Submitting Bug Reports
|
||||
|
||||
Please submit all issues to http://github.com/aredn/aredn_ar71xx/issues
|
||||
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd "$BUILDROOTBASE"
|
||||
|
||||
|
||||
|
||||
# Prep the feeds file
|
||||
AREDN_PACKAGES_DIR=$(readlink -f "$BUILDROOTBASE/../aredn_packages")
|
||||
|
||||
if [ -n "$GERRIT_PROJECT" ] && [ "$GERRIT_PROJECT" = "aredn_packages" ]
|
||||
then
|
||||
# This is a Gerrit build for aredn_packages, lets run the single commit
|
||||
echo "src-git arednpackages file://$AREDN_PACKAGES_DIR^$GERRIT_PATCHSET_REVISION" > feeds.conf
|
||||
else
|
||||
# If $GIT_BRANCH is set lets try and check locally to be sure the branch exists. If we haven't checked out aredn_packages
|
||||
# locally then lets assume this may not be in the build environment and fall back to some sane defaults.
|
||||
if [ -n "$GIT_BRANCH" ] && [ -d "$AREDN_PACKAGES_DIR" ] && [ -n "$(git --git-dir="$AREDN_PACKAGES_DIR/.git" branch --list -r "$GIT_BRANCH")" ]
|
||||
then
|
||||
BASE_BRANCH=$(echo "$GIT_BRANCH"|sed 's/.*\///')
|
||||
else
|
||||
case $GIT_BRANCH in
|
||||
origin/release-* ) BASE_BRANCH="master";;
|
||||
origin/hotfix-* ) BASE_BRANCH="master";;
|
||||
origin/master ) BASE_BRANCH="master";;
|
||||
* ) BASE_BRANCH="develop";;
|
||||
esac
|
||||
fi
|
||||
echo "src-git arednpackages git://git.aredn.org/aredn_packages;$BASE_BRANCH" > feeds.conf
|
||||
fi
|
||||
|
||||
|
||||
cat feeds.conf.default >> feeds.conf
|
||||
./scripts/feeds update -a
|
||||
./scripts/feeds install -p arednpackages olsrd
|
||||
./scripts/feeds install perl
|
||||
./scripts/feeds install -p arednpackages vtun
|
||||
./scripts/feeds install -a -p arednpackages
|
||||
./scripts/feeds install snmpd
|
||||
./scripts/feeds install ntpclient
|
||||
./scripts/feeds install socat
|
||||
./scripts/feeds install xinetd
|
||||
./scripts/feeds install luci-base
|
||||
./scripts/feeds install luci-lib-nixio
|
||||
./scripts/feeds install luci-lib-ip
|
||||
./scripts/feeds install luci-lib-jsonc
|
||||
./scripts/feeds install luaposix
|
||||
|
||||
SHORT_COMMIT=$(echo "$GIT_COMMIT" | awk '{ string=substr($0, 1, 8); print string; }' )
|
||||
SHORT_BRANCH=$(echo "$GIT_BRANCH" | awk 'match($0,"/"){print substr($0,RSTART+1)}')
|
||||
|
||||
if [ ! -z "$BUILD_SET_VERSION" ]; then
|
||||
echo "$BUILD_SET_VERSION" > "$BUILDROOTBASE/files/etc/mesh-release"
|
||||
else
|
||||
echo "${SHORT_BRANCH}-${BUILD_NUMBER}-${SHORT_COMMIT}" > "$BUILDROOTBASE/files/etc/mesh-release"
|
||||
fi
|
|
@ -1,45 +0,0 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
. "$SCRIPTBASE/sh2ju.sh"
|
||||
|
||||
rm "$BUILDROOTBASE/.config" 2> /dev/null
|
||||
|
||||
touch "$BUILDROOTBASE/.config"
|
||||
|
||||
for file in "$SCRIPTBASE"/buildsteps/kconfig/*
|
||||
do
|
||||
$file >> "$BUILDROOTBASE/.config"
|
||||
done
|
|
@ -1,40 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd "$BUILDROOTBASE"
|
||||
|
||||
|
||||
make defconfig
|
||||
# Tools Build
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 tools/install -j3
|
||||
# toolchain build
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 toolchain/install
|
||||
#kernel compile
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 target/compile -j3
|
||||
# package compile
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 package/compile -j3
|
||||
#package installation
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 package/install -j3
|
||||
#package index
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 package/index
|
||||
#image generation
|
||||
make IGNORE_ERRORS=m V=99 BUILD_LOG=1 target/install -j3
|
||||
|
||||
SHORT_COMMIT=$(echo "$GIT_COMMIT" | awk '{ string=substr($0, 1, 8); print string; }' )
|
||||
SHORT_BRANCH=$(echo "$GIT_BRANCH" | awk 'match($0,"/"){print substr($0,RSTART+1)}')
|
||||
|
||||
if [ ! -z "$BUILD_SET_VERSION" ]; then
|
||||
MYBUILDNAME="$BUILD_SET_VERSION"
|
||||
else
|
||||
MYBUILDNAME="${SHORT_BRANCH}-${BUILD_NUMBER}-${SHORT_COMMIT}"
|
||||
fi
|
||||
|
||||
# Rename the images
|
||||
find bin/ar71xx/ -not -path "*/packages/*" -type f | while read FILE
|
||||
do
|
||||
NEWNAME=$(echo "$FILE" | sed -r "s/openwrt-.*ar71xx-(generic)|(mikrotik)|(nand)/AREDN-$MYBUILDNAME/g")
|
||||
if [ "$FILE" != "$NEWNAME" ]
|
||||
then
|
||||
mv "$FILE" "$NEWNAME"
|
||||
fi
|
||||
done
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
# For now lets just return static entries
|
||||
cat << EOF
|
||||
CONFIG_TARGET_ar71xx=y
|
||||
CONFIG_TARGET_ar71xx_Default=y
|
||||
CONFIG_ARCH=mips
|
||||
EOF
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
# For now lets just return static entries
|
||||
cat << EOF
|
||||
CONFIG_ATH_USER_REGD=y
|
||||
EOF
|
|
@ -1,53 +0,0 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2016 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
if [ ! -z "$BUILD_SET_VERSION" ]; then
|
||||
MYBUILDNAME="$BUILD_SET_VERSION"
|
||||
else
|
||||
SHORT_COMMIT=$(echo "$GIT_COMMIT" | awk '{ string=substr($0, 1, 8); print string; }' )
|
||||
SHORT_BRANCH=$(echo "$GIT_BRANCH" | awk 'match($0,"/"){print substr($0,RSTART+1)}')
|
||||
MYBUILDNAME="${SHORT_BRANCH}-${BUILD_NUMBER}-${SHORT_COMMIT}"
|
||||
fi
|
||||
|
||||
cat << EOF
|
||||
CONFIG_IMAGEOPT=y
|
||||
CONFIG_VERSIONOPT=y
|
||||
CONFIG_VERSION_NUMBER="$MYBUILDNAME"
|
||||
EOF
|
||||
|
||||
if [ ! -z "$BUILD_SET_VERSION" ]; then
|
||||
hashedpath=$(echo "$BUILD_SET_VERSION" |awk -F'.' '{print $1"/"$2"/"$0}')
|
||||
echo "CONFIG_VERSION_REPO=\"http://downloads.aredn.org/releases/${hashedpath}/%S/packages\""
|
||||
fi
|
|
@ -1,70 +0,0 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
SCRIPTBASE=$(dirname "$(readlink -f "$0")")
|
||||
export SCRIPTBASE
|
||||
|
||||
if [ "$1" != "" ]
|
||||
then
|
||||
BUILDROOTBASE=$1
|
||||
else
|
||||
BUILDROOTBASE="$PWD"
|
||||
fi
|
||||
|
||||
export BUILDROOTBASE
|
||||
|
||||
if [ ! -d "$BUILDROOTBASE" ]
|
||||
then
|
||||
|
||||
echo "ERROR: $BUILDROOTBASE doesn't exist"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# Run pre-tests
|
||||
"$SCRIPTBASE"/tests-prebuild.sh "${BUILDROOTBASE}/files"
|
||||
|
||||
for file in $SCRIPTBASE/buildsteps/*
|
||||
do
|
||||
if ( [ -x "$file" ] && [ -f "$file" ] ); then
|
||||
echo "BUILDSTEP: $file"
|
||||
$file
|
||||
fi
|
||||
done
|
||||
|
||||
# Run post-build tests
|
||||
"$SCRIPTBASE"/tests-postbuild.sh "${BUILDROOTBASE}/files"
|
||||
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,19 @@
|
|||
# default parameters for Makefile
|
||||
|
||||
# What version will show in the AREDN firmware 'Node Status" UI page?
|
||||
PRIVATE_BUILD_VERSION=NoCall
|
||||
|
||||
# build options: -j# for (# of cores +1) on build machine, V=s for verbose output
|
||||
# https://wiki.openwrt.org/doc/howto/build#make_options (archive)
|
||||
# https://openwrt.org/docs/guide-developer/usebuildsytem (openwrt-lede merge)
|
||||
# example "MAKE_ARGS=-j33 V=s IGNORE_ERRORS=m BUILD_LOG=1"
|
||||
MAKE_ARGS=-j3
|
||||
|
||||
# Where will the installed image find add-on Packages to download?
|
||||
# This URL must contain the packages from this build
|
||||
# downloading packages within the AREDN UI uses signatures
|
||||
PRIVATE_BUILD_PACKAGES=http://downloads.arednmesh.org/snapshots/trunk/%S/packages
|
||||
|
||||
# These options are for more complex changes
|
||||
SHELL:=$(shell which bash)
|
||||
TARGET=ar71xx-generic
|
|
@ -0,0 +1,3 @@
|
|||
CONFIG_TARGET_ar71xx=y
|
||||
CONFIG_TARGET_ar71xx_Default=y
|
||||
CONFIG_ARCH=mips
|
|
@ -1,42 +1,4 @@
|
|||
#!/bin/sh
|
||||
<<'LICENSE'
|
||||
Part of AREDN -- Used for creating Amateur Radio Emergency Data Networks
|
||||
Copyright (C) 2015 Conrad Lara
|
||||
See Contributors file for additional contributors
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation version 3 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional Terms:
|
||||
|
||||
Additional use restrictions exist on the AREDN(TM) trademark and logo.
|
||||
See AREDNLicense.txt for more info.
|
||||
|
||||
Attributions to the AREDN Project must be retained in the source code.
|
||||
If importing this code into a new or existing project attribution
|
||||
to the AREDN project must be added to the source code.
|
||||
|
||||
You must not misrepresent the origin of the material contained within.
|
||||
|
||||
Modified versions must be modified to attribute to the original source
|
||||
and be marked in reasonable ways as differentiate it from the original
|
||||
version.
|
||||
|
||||
LICENSE
|
||||
|
||||
# For now lets just return static entries
|
||||
|
||||
# Kernel Config entries for packages that should be a part of the build
|
||||
cat <<'EOF'
|
||||
CONFIG_ATH_USER_REGD=y
|
||||
CONFIG_ALL=y
|
||||
CONFIG_PACKAGE_bridge=y
|
||||
CONFIG_PACKAGE_busybox=y
|
||||
|
@ -101,4 +63,6 @@ CONFIG_PACKAGE_libjson-c=y
|
|||
CONFIG_PACKAGE_libnl_tiny=y
|
||||
CONFIG_PACKAGE_libiwinfo-lua=y
|
||||
CONFIG_PACKAGE_luaposix=y
|
||||
EOF
|
||||
CONFIG_IMAGEOPT=y
|
||||
CONFIG_VERSIONOPT=y
|
||||
|
|
@ -0,0 +1 @@
|
|||
src-git arednpackages git://github.com/aredn/aredn_packages;Jenkins-176
|
|
@ -0,0 +1,6 @@
|
|||
# what openwrt git repo will be used?
|
||||
OPENWRT_SRC=https://github.com/aredn/arednbase
|
||||
|
||||
# what branch, tag or commit in this repo?
|
||||
OPENWRT_COMMIT=Jenkins-176
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
PATCHES
|
||||
#######
|
||||
|
||||
Please add patches in the folowing structure
|
||||
|
||||
|
||||
- 0xx - OpenWRT / LEDE related (upstream)
|
||||
- 1xx - packages (upstream)
|
||||
- 2xx - LUCI (upstream)
|
||||
- 3xx - routing (upstream)
|
||||
- 4xx - reserved
|
||||
- 5xx - reserved
|
||||
- 6xx - build system changes to support this build system
|
||||
- 7xx - AREDN specific
|
||||
- 8xx - other
|
||||
- 9xx - reserved
|
|
@ -49,22 +49,10 @@ STATICFILESCOUNT=9
|
|||
. "$SCRIPTBASE/sh2ju.sh"
|
||||
|
||||
|
||||
# Set the MYBUILDNAME var for later
|
||||
SHORT_COMMIT=$(echo "$GIT_COMMIT" | awk '{ string=substr($0, 1, 8); print string; }' )
|
||||
SHORT_BRANCH=$(echo "$GIT_BRANCH" | awk 'match($0,"/"){print substr($0,RSTART+1)}')
|
||||
|
||||
if [ ! -z "$BUILD_SET_VERSION" ]; then
|
||||
MYBUILDNAME="$BUILD_SET_VERSION"
|
||||
else
|
||||
MYBUILDNAME="${SHORT_BRANCH}-${BUILD_NUMBER}-${SHORT_COMMIT}"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Make sure no files named openwrt* in output directory
|
||||
# Could mean an image rename problem or that the buildroot
|
||||
# was not clean before making images
|
||||
if [ "$(find ./bin/* -maxdepth 2 -regex '.*bin/.*[Oo][Pp][Ee][Nn][Ww][Rr][Tt].*' | wc -l)" -eq "0" ]
|
||||
if [ "$(find ./openwrt/bin/* -maxdepth 2 -regex '\./openwrt/bin.*[Oo][Pp][Ee][Nn][Ww][Rr][Tt].*' | wc -l)" -eq "0" ]
|
||||
then
|
||||
juLog -name="no_firmware_images_named_openwrt" true
|
||||
else
|
||||
|
@ -79,7 +67,7 @@ fi
|
|||
## STATICFILESCOUNT + NUMBEROFIMAGESCOUNT * 2 for sysupgrade and factory files
|
||||
EXPECTEDFILESCOUNT=$(( STATICFILESCOUNT + NUMBEROFIMAGESCOUNT * 2 ))
|
||||
|
||||
if [ "$(find ./bin/* -maxdepth 2 -regex ".*bin/.*AREDN-$MYBUILDNAME.*" | wc -l)" -eq "$EXPECTEDFILESCOUNT" ]
|
||||
if [ "$(find ./openwrt/bin/* -maxdepth 2 -regex ".*AREDN-.*" | wc -l)" -eq "$EXPECTEDFILESCOUNT" ]
|
||||
then
|
||||
juLog -name="AREDN_image_files_exist" true
|
||||
else
|
|
@ -36,7 +36,7 @@ LICENSE
|
|||
. "$SCRIPTBASE/sh2ju.sh"
|
||||
|
||||
|
||||
# Make sure shellchheck is installed and in path.
|
||||
# Make sure shellcheck is installed and in path.
|
||||
juLog -name="cgibin_shellcheckexists" which shellcheck
|
||||
SHELLCHECKNOTEXISTS=$?
|
||||
|
Loading…
Reference in New Issue