Skip to content

Commit b210040

Browse files
author
Connor Rigby
committed
pull in upstream nerves
2 parents 5667bb5 + d855c97 commit b210040

File tree

11 files changed

+114
-79
lines changed

11 files changed

+114
-79
lines changed

CHANGELOG.md

+20-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,32 @@
11
# Changelog
22

3-
## v0.16.2-dev
3+
## v0.17.1
4+
Updated dependencies
5+
* [nerves_system_br v0.14.1](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.14.1)
6+
7+
## v0.17.0
8+
9+
Updated dependencies
10+
* [nerves_system_br v0.14.0](https://github.com/nerves-project/nerves_system_br/releases/tag/v0.14.0)
11+
* [Buildroot 2017.08](https://git.busybox.net/buildroot/plain/CHANGES?id=2017.08)
12+
* [fwup 0.17.0](https://github.com/fhunleth/fwup/releases/tag/v0.17.0)
13+
* [erlinit 1.2.0](https://github.com/nerves-project/erlinit/releases/tag/v1.2.0)
14+
* [nbtty 0.3.0](https://github.com/fhunleth/nbtty/releases/tag/v0.3.0)
15+
16+
* Enhancements
17+
* Add global patch directory
18+
19+
This is required to pull in the e2fsprogs patch that's needed now that
20+
util-linux's uuid_generate function calls getrandom and can block
21+
indefinitely for the urandom pool to initialize
422

523
## v0.16.1
624

725
Updated dependencies
826
* nerves_system_br v0.13.7
927

1028
## v0.16.0
29+
1130
This release contains an updated toolchain with Linux 4.1 Headers.
1231
You will have to clean and compile any c/c++ code in your project and
1332
dependencies. Failure to do so will result in an error when producing firmware.

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.16.2-farmbot
1+
0.17.2-farmbot

fwup.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ task upgrade.a {
236236
require-uboot-variable(uboot-env, "b.nerves_fw_architecture", "${NERVES_FW_ARCHITECTURE}")
237237

238238
on-init {
239-
info("Upgrading the A partition")
239+
info("Upgrading partition A")
240240

241241
# Clear some firmware information just in case this update gets
242242
# interrupted midway.
@@ -296,7 +296,7 @@ task upgrade.b {
296296
require-uboot-variable(uboot-env, "a.nerves_fw_architecture", "${NERVES_FW_ARCHITECTURE}")
297297

298298
on-init {
299-
info("Upgrading the B partition")
299+
info("Upgrading partition B")
300300

301301
# Clear some firmware information just in case this update gets
302302
# interrupted midway.

mix.exs

+27-12
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ defmodule NervesSystemFarmbotRpi3.Mixfile do
22
use Mix.Project
33

44
@version Path.join(__DIR__, "VERSION")
5-
|> File.read!
6-
|> String.trim
5+
|> File.read!()
6+
|> String.trim()
77

88
def project do
99
[app: :nerves_system_farmbot_rpi3,
@@ -17,27 +17,42 @@ defmodule NervesSystemFarmbotRpi3.Mixfile do
1717
end
1818

1919
def application do
20-
[]
20+
[]
2121
end
2222

2323
defp deps do
2424
[
25-
{:nerves, "~> 0.7", runtime: false },
26-
{:nerves_system_br, "~> 0.13.7", runtime: false },
25+
{:nerves, "~> 0.7", runtime: false},
26+
{:nerves_system_br, "~> 0.14.1", runtime: false},
2727
{:nerves_toolchain_arm_unknown_linux_gnueabihf, "~> 0.11.0", runtime: false}
2828
]
2929
end
3030

3131
defp description do
32-
"""
33-
Nerves System - Raspberry Pi 3 B
34-
"""
32+
"""
33+
Nerves System - Raspberry Pi 3 B
34+
"""
3535
end
3636

3737
defp package do
38-
[maintainers: ["Farmbot Team"],
39-
files: ["LICENSE", "mix.exs", "nerves_defconfig", "nerves.exs", "README.md", "VERSION", "rootfs_overlay", "fwup.conf", "cmdline.txt", "linux-4.4.defconfig", "config.txt", "post-createfs.sh"],
40-
licenses: ["Apache 2.0"],
41-
links: %{"Github" => "https://github.com/farmbot-labs/nerves_system_farmbot_rpi3"}]
38+
[
39+
maintainers: ["Frank Hunleth", "Justin Schneck"],
40+
files: [
41+
"LICENSE",
42+
"mix.exs",
43+
"nerves_defconfig",
44+
"nerves.exs",
45+
"README.md",
46+
"VERSION",
47+
"rootfs_overlay",
48+
"fwup.conf",
49+
"cmdline.txt",
50+
"linux-4.4.defconfig",
51+
"config.txt",
52+
"post-createfs.sh"
53+
],
54+
licenses: ["Apache 2.0"],
55+
links: %{"Github" => "https://github.com/nerves-project/nerves_system_rpi3"}
56+
]
4257
end
4358
end

mix.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
%{"distillery": {:hex, :distillery, "1.5.1", "7ad7354214959c0f65f57ddd49478c81c3b2733ca2e5ccfb9eb55351108466aa", [:mix], [], "hexpm"},
1+
%{"distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"},
22
"nerves": {:hex, :nerves, "0.7.5", "3aa6a336b2ad6c1c9589cc2b577511b3c4c375c1ba6c533ab9f88adb8c21f0c3", [:mix], [{:distillery, "~> 1.4", [hex: :distillery, repo: "hexpm", optional: false]}], "hexpm"},
3-
"nerves_system_br": {:hex, :nerves_system_br, "0.13.7", "85399547717c0386a4f2039e3467c14a23c3b77f66a4b97c2a67e48734dab2bb", [:mix], [], "hexpm"},
3+
"nerves_system_br": {:hex, :nerves_system_br, "0.14.1", "b108f8e12b2fd5cfd75be72d8ade4a1cfa9b9fd9076380c431ad930a7ccd5526", [:mix], [], "hexpm"},
44
"nerves_toolchain_arm_unknown_linux_gnueabihf": {:hex, :nerves_toolchain_arm_unknown_linux_gnueabihf, "0.11.0", "8d7606275a2d19de26ae238cd59475f4c06679aa9222b8987518d7c8a7beae51", [:mix], [{:nerves, "~> 0.7", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.1", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm"},
55
"nerves_toolchain_ctng": {:hex, :nerves_toolchain_ctng, "1.1.0", "0f03e4a3f3beef5fe271de0148b9f106c417e57f303f635c21c74b4bd6eb68ee", [:mix], [], "hexpm"}}

nerves_defconfig

+3-4
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
1111
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
1212
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
1313
BR2_TOOLCHAIN_EXTERNAL_CXX=y
14-
BR2_TARGET_GENERIC_HOSTNAME=""
15-
BR2_TARGET_GENERIC_ISSUE=""
14+
BR2_ROOTFS_SKELETON_CUSTOM=y
15+
BR2_ROOTFS_SKELETON_CUSTOM_PATH="${BR2_EXTERNAL_NERVES_PATH}/board/nerves-common/skeleton"
1616
BR2_INIT_NONE=y
17-
# BR2_TARGET_GENERIC_GETTY is not set
18-
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
1917
BR2_ENABLE_LOCALE_WHITELIST="locale-archive"
2018
BR2_GENERATE_LOCALE="en_US.UTF-8"
2119
BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_NERVES_PATH}/board/nerves-common/rootfs_overlay ${NERVES_DEFCONFIG_DIR}/rootfs_overlay"
@@ -69,3 +67,4 @@ BR2_PACKAGE_NERVES_CONFIG=y
6967
BR2_PACKAGE_NERVES_CONFIG_NO_ERLINIT_CONF=y
7068
BR2_PACKAGE_NERVES_CONFIG_APPS="crypto"
7169
BR2_PACKAGE_NERVES_CONFIG_SNAME="farmbot"
70+
BR2_PACKAGE_PIGPIO=y

test/config/config.exs

+25-24
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,25 @@ websocket_protocol = System.get_env("WEBSOCKET_PROTOCOL") || "ws"
2020
# Common configuration
2121

2222
# Configure bootloader boot order.
23-
config :bootloader,
24-
app: :nerves_system_test,
25-
init: [:nerves_runtime, :nerves_network]
23+
config(:bootloader, app: :nerves_system_test, init: [:nerves_runtime, :nerves_network])
2624

2725
# Only trust signed firmware
28-
config :nerves_system_test, :firmware,
29-
public_key: System.get_env("NERVES_FW_PUB_KEY")
26+
config(:nerves_system_test, :firmware, public_key: System.get_env("NERVES_FW_PUB_KEY"))
3027

3128
# Configure system_registry term storage to store the wifi credentials on the
3229
# app data partition. If the device is using eth0 as the primary connection
3330
# mechanism the wlan0 settings do not need to be configured.
34-
config :system_registry, SystemRegistry.TermStorage,
35-
path: "/root/system_registry",
36-
scopes: [
37-
[:config, :network_interface, "wlan0", :ssid],
38-
[:config, :network_interface, "wlan0", :psk]
39-
]
31+
config(:system_registry, SystemRegistry.TermStorage, path: "/root/system_registry", scopes: [
32+
[:config, :network_interface, "wlan0", :ssid],
33+
[:config, :network_interface, "wlan0", :psk]
34+
])
4035

4136
# Configure the default interface settings.
4237
# wlan0 | eth0 - Used to establish a connection to the test server.
4338
# usb0 - configured with linklocal to be validated as part of the test results.
44-
config :nerves_network, :default,
39+
config(
40+
:nerves_network,
41+
:default,
4542
eth0: [
4643
ipv4_address_method: :dhcp
4744
],
@@ -51,10 +48,14 @@ config :nerves_network, :default,
5148
usb0: [
5249
ipv4_address_method: :linklocal
5350
]
51+
)
5452

5553
# Configure the url for the connection to the test server phoenix channel socket.
56-
config :nerves_system_test, NervesTestServer.Socket,
54+
config(
55+
:nerves_system_test,
56+
NervesTestServer.Socket,
5757
url: "#{websocket_protocol}://#{test_server}/socket/websocket"
58+
)
5859

5960
# Configure the test suite. nerves_system_test needs to know information such as
6061
# system - the name of the system repo the tests are being executed on
@@ -65,24 +66,24 @@ config :nerves_system_test, NervesTestServer.Socket,
6566
# of the app and dependencies. The default layout runs tests that are common
6667
# across devices (:nerves_system_test) and those that are specific to the
6768
# device (this app)
68-
config :nerves_system_test,
69-
system: system,
70-
network_interface: network_interface,
71-
tests: [
72-
{:test, :priv_dir, "test"},
73-
{:nerves_system_test, :priv_dir, "test"}
74-
]
69+
config(:nerves_system_test, system: system, network_interface: network_interface, tests: [
70+
{:test, :priv_dir, "test"},
71+
{:nerves_system_test, :priv_dir, "test"}
72+
])
7573

7674
# The configuration stored here is duplicated from the project so it can be
7775
# validated by nerves_system_test because the source is unavailable at runtime.
78-
config :nerves_runtime, :kv,
76+
config(
77+
:nerves_runtime,
78+
:kv,
7979
nerves_fw_application_part0_devpath: app_part_devparth,
8080
nerves_fw_application_part0_fstype: "ext4",
8181
nerves_fw_application_part0_target: "/root",
8282
nerves_fw_architecture: arch,
8383
nerves_fw_author: "The Nerves Team",
84-
nerves_fw_description: Mix.Project.config[:description],
84+
nerves_fw_description: Mix.Project.config()[:description],
8585
nerves_fw_platform: platform,
86-
nerves_fw_product: Mix.Project.config[:app],
86+
nerves_fw_product: Mix.Project.config()[:app],
8787
nerves_fw_vcs_identifier: System.get_env("NERVES_FW_VCS_IDENTIFIER"),
88-
nerves_fw_version: Mix.Project.config[:version]
88+
nerves_fw_version: Mix.Project.config()[:version]
89+
)

test/lib/test.ex

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
defmodule Test do
2-
32
end

test/mix.exs

+20-15
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
1-
if Mix.env == :test do
2-
hash = :os.cmd('git rev-parse HEAD')
1+
if Mix.env() == :test do
2+
hash =
3+
:os.cmd('git rev-parse HEAD')
34
|> to_string
4-
|> String.trim
5+
|> String.trim()
6+
57
System.put_env("NERVES_FW_VCS_IDENTIFIER", hash)
68
end
79

810
defmodule Test.Mixfile do
911
use Mix.Project
1012

1113
def project do
12-
[app: :test,
13-
version: "0.1.0",
14-
elixir: "~> 1.4",
15-
archives: [nerves_bootstrap: "~> 0.6"],
16-
build_embedded: Mix.env == :prod,
17-
start_permanent: Mix.env == :prod,
18-
aliases: aliases(),
19-
deps: deps()]
14+
[
15+
app: :test,
16+
version: "0.1.0",
17+
elixir: "~> 1.4",
18+
archives: [nerves_bootstrap: "~> 0.6"],
19+
build_embedded: Mix.env() == :prod,
20+
start_permanent: Mix.env() == :prod,
21+
aliases: aliases(),
22+
deps: deps()
23+
]
2024
end
2125

2226
# Configuration for the OTP application.
@@ -38,13 +42,14 @@ defmodule Test.Mixfile do
3842
{:nerves, "~> 0.7", runtime: false},
3943
{:nerves_system_farmbot_rpi3, path: "../", runtime: false},
4044
{:nerves_system_test, github: "nerves-project/nerves_system_test"}
41-
#{:nerves_system_test, path: "../../nerves_system_test"}
45+
# {:nerves_system_test, path: "../../nerves_system_test"}
4246
]
4347
end
4448

4549
def aliases() do
46-
["deps.precompile": ["nerves.precompile", "deps.precompile"],
47-
"deps.loadpaths": ["deps.loadpaths", "nerves.loadpaths"]]
50+
[
51+
"deps.precompile": ["nerves.precompile", "deps.precompile"],
52+
"deps.loadpaths": ["deps.loadpaths", "nerves.loadpaths"]
53+
]
4854
end
49-
5055
end

test/priv/test/test_helper.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ExUnit.start
1+
ExUnit.start()

test/rel/config.exs

+13-16
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
1-
use Mix.Releases.Config,
2-
# This sets the default release built by `mix release`
3-
default_release: :default,
4-
# This sets the default environment used by `mix release`
5-
default_environment: :dev
1+
# This sets the default release built by `mix release`
2+
# This sets the default environment used by `mix release`
3+
use Mix.Releases.Config, default_release: :default, default_environment: :dev
64

75
# For a full list of config options for both releases
86
# and environments, visit https://hexdocs.pm/distillery/configuration.html
97

10-
118
# You may define one or more environments in this file,
129
# an environment's settings will override those of a release
1310
# when building in that environment, this combination of release
1411
# and environment configuration is called a profile
1512

1613
environment :dev do
17-
set cookie: :"eeW260*@lLKngEX.N;Ke>Lu:UWX{WHz_%Z($yrn=YYYU$UuB>2sftLYf!X[}/*Mo"
14+
set(cookie: :"eeW260*@lLKngEX.N;Ke>Lu:UWX{WHz_%Z($yrn=YYYU$UuB>2sftLYf!X[}/*Mo")
1815
end
1916

2017
environment :prod do
21-
set cookie: :"eeW260*@lLKngEX.N;Ke>Lu:UWX{WHz_%Z($yrn=YYYU$UuB>2sftLYf!X[}/*Mo"
18+
set(cookie: :"eeW260*@lLKngEX.N;Ke>Lu:UWX{WHz_%Z($yrn=YYYU$UuB>2sftLYf!X[}/*Mo")
2219
end
2320

2421
# You may define one or more releases in this file.
@@ -27,14 +24,14 @@ end
2724
# will be used by default
2825

2926
release :test do
30-
set version: current_version(:test)
31-
plugin Bootloader.Plugin
27+
set(version: current_version(:test))
28+
plugin(Bootloader.Plugin)
29+
3230
if System.get_env("NERVES_SYSTEM") do
33-
set dev_mode: false
34-
set include_src: false
35-
set include_erts: System.get_env("ERL_LIB_DIR")
36-
set include_system_libs: System.get_env("ERL_SYSTEM_LIB_DIR")
37-
set vm_args: "rel/vm.args"
31+
set(dev_mode: false)
32+
set(include_src: false)
33+
set(include_erts: System.get_env("ERL_LIB_DIR"))
34+
set(include_system_libs: System.get_env("ERL_SYSTEM_LIB_DIR"))
35+
set(vm_args: "rel/vm.args")
3836
end
3937
end
40-

0 commit comments

Comments
 (0)