From 32940bfb59a9c0b0319e9c6234af16f86362cebc Mon Sep 17 00:00:00 2001 From: Peter Steenbergen Date: Fri, 9 Nov 2018 18:18:38 +0100 Subject: [PATCH] Buildroot: Create / Add nodogsplash buildroot package - Default settings and configuration - MycroftOS configuration will be done via rootfs overlay --- buildroot-external/Config.in | 1 + .../configs/mycroftos_rpi3_defconfig | 20 +++++++---- .../package/nodogsplash/Config.in | 13 +++++++ .../package/nodogsplash/nodogsplash.hash | 2 ++ .../package/nodogsplash/nodogsplash.mk | 34 +++++++++++++++++++ 5 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 buildroot-external/package/nodogsplash/Config.in create mode 100644 buildroot-external/package/nodogsplash/nodogsplash.hash create mode 100644 buildroot-external/package/nodogsplash/nodogsplash.mk diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index 0b220340..c6cc1b29 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -1,5 +1,6 @@ menu "Additional libraries and applications" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/fann/Config.in" + source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/nodogsplash/Config.in" endmenu menu "Additional external python modules" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/python-adapt-parser/Config.in" diff --git a/buildroot-external/configs/mycroftos_rpi3_defconfig b/buildroot-external/configs/mycroftos_rpi3_defconfig index 6904eefa..165cbe73 100644 --- a/buildroot-external/configs/mycroftos_rpi3_defconfig +++ b/buildroot-external/configs/mycroftos_rpi3_defconfig @@ -6,14 +6,15 @@ BR2_CCACHE=y BR2_CCACHE_DIR="../ccache" BR2_OPTIMIZE_FAST=y BR2_GLOBAL_PATCH_DIR="../buildroot-patches" -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_GENERIC_HOSTNAME="MycroftOS" BR2_TARGET_GENERIC_ISSUE="Welcome to MycroftOS" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_TARGET_GENERIC_ROOT_PASSWD="mycroft" BR2_SYSTEM_BIN_SH_BASH=y +# BR2_TARGET_GENERIC_GETTY is not set BR2_SYSTEM_DHCP="eth0" BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.UTF8" BR2_GENERATE_LOCALE="en_US en_US.UTF-8" @@ -57,9 +58,12 @@ BR2_PACKAGE_MIMIC_AUDIO_BACKEND_ALSA=y BR2_PACKAGE_MPG123=y BR2_PACKAGE_MPV=y BR2_PACKAGE_PULSEAUDIO=y -BR2_PACKAGE_PULSEAUDIO_DAEMON=y +BR2_PACKAGE_VLC=y BR2_PACKAGE_GZIP=y BR2_PACKAGE_LZ4=y +BR2_PACKAGE_LZOP=y +BR2_PACKAGE_P7ZIP=y +BR2_PACKAGE_UNRAR=y BR2_PACKAGE_UNZIP=y BR2_PACKAGE_ZIP=y BR2_PACKAGE_BINUTILS=y @@ -75,6 +79,7 @@ BR2_PACKAGE_PKGCONF=y BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_FBV=y BR2_PACKAGE_RPI_BT_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_X=y @@ -82,6 +87,7 @@ BR2_PACKAGE_RPI_WIFI_FIRMWARE=y BR2_PACKAGE_DBUS_PYTHON=y BR2_PACKAGE_KBD=y BR2_PACKAGE_PARTED=y +BR2_PACKAGE_RPI_USERLAND=y BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON3_PY_ONLY=y BR2_PACKAGE_PYTHON3_BZIP2=y @@ -119,22 +125,20 @@ BR2_PACKAGE_LIBARCHIVE_BSDTAR=y BR2_PACKAGE_LIBARCHIVE_BSDCPIO=y BR2_PACKAGE_LIBARCHIVE_BSDCAT=y BR2_PACKAGE_LIBZIP=y -BR2_PACKAGE_LZO=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBOPENSSL_ENGINES=y BR2_PACKAGE_LIBCONFIG=y BR2_PACKAGE_LIBNFS=y -BR2_PACKAGE_JPEG=y -BR2_PACKAGE_LIBPNG=y BR2_PACKAGE_BCM2835=y +BR2_PACKAGE_DTC=y +BR2_PACKAGE_DTC_PROGRAMS=y BR2_PACKAGE_WIRINGPI=y BR2_PACKAGE_LIBMPEG2=y BR2_PACKAGE_LIBMPEG2_BINS=y BR2_PACKAGE_LIBTHEORA=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y -BR2_PACKAGE_LIBTIRPC=y BR2_PACKAGE_LIBFRIBIDI=y BR2_PACKAGE_LIBUNISTRING=y BR2_PACKAGE_NCURSES_WCHAR=y @@ -170,14 +174,16 @@ BR2_PACKAGE_UTIL_LINUX_MORE=y BR2_PACKAGE_UTIL_LINUX_MOUNT=y BR2_PACKAGE_NANO=y BR2_PACKAGE_VIM=y +# BR2_PACKAGE_VIM_RUNTIME is not set BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_ROOTFS_EXT2_SIZE="768M" +BR2_TARGET_ROOTFS_EXT2_SIZE="1024M" # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_FANN=y +BR2_PACKAGE_NODOGSPLASH=y BR2_PACKAGE_PYTHON_ADAPT_PARSER=y BR2_PACKAGE_PYTHON_COVERALLS=y BR2_PACKAGE_PYTHON_DEPRECATED=y diff --git a/buildroot-external/package/nodogsplash/Config.in b/buildroot-external/package/nodogsplash/Config.in new file mode 100644 index 00000000..48851d71 --- /dev/null +++ b/buildroot-external/package/nodogsplash/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_NODOGSPLASH + bool "nodogsplash" + select BR2_PACKAGE_LIBMICROHTTPD + help + Nodogspash (NDS) is a high performance, + small footprint Captive Portal, offering + by default a simple splash page restricted + Internet connection, yet incorporates an + API that allows the creation of + sophisticated authentication applications. + + https://github.com/nodogsplash/nodogsplash + diff --git a/buildroot-external/package/nodogsplash/nodogsplash.hash b/buildroot-external/package/nodogsplash/nodogsplash.hash new file mode 100644 index 00000000..fc2a8bfc --- /dev/null +++ b/buildroot-external/package/nodogsplash/nodogsplash.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 fdc936b1b76bcae9a0a42cd8887d4cb5037fb328449a57c2c33f03ad5013638c nodogsplash-3.2.1.tar.gz diff --git a/buildroot-external/package/nodogsplash/nodogsplash.mk b/buildroot-external/package/nodogsplash/nodogsplash.mk new file mode 100644 index 00000000..fd0b3645 --- /dev/null +++ b/buildroot-external/package/nodogsplash/nodogsplash.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# nodogsplash +# +################################################################################ + +NODOGSPLASH_VERSION = 3.2.1 +NODOGSPLASH_SITE = $(call github,nodogsplash,nodogsplash,$(NODOGSPLASH_VERSION)) +NODOGSPLASH_LICENSE = GNU General Public License v2.0 +#NODOGSPLASH_AUTORECONF = YES +#NODOGSPLASH_INSTALL_STAGING = yes +NODOGSPLASH_DEPENDENCIES = libmicrohttpd + +define NODOGSPLASH_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all +endef + +define NODOGSPLASH_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/ndsctl $(TARGET_DIR)/usr/bin/ + $(INSTALL) -D -m 0755 $(@D)/nodogsplash $(TARGET_DIR)/usr/bin/ + mkdir -p $(TARGET_DIR)/etc/nodogsplash/htdocs/images + $(INSTALL) -D -m 0644 $(@D)/resources/nodogsplash.conf \ + $(TARGET_DIR)/etc/nodogsplash/ + $(INSTALL) -D -m 0644 $(@D)/resources/splash.html \ + $(TARGET_DIR)/etc/nodogsplash/htdocs/ + $(INSTALL) -D -m 0644 $(@D)/resources/splash.css \ + $(TARGET_DIR)/etc/nodogsplash/htdocs/ + $(INSTALL) -D -m 0644 $(@D)/resources/status.html \ + $(TARGET_DIR)/etc/nodogsplash/htdocs/ + $(INSTALL) -D -m 0644 $(@D)/resources/splash.jpg \ + $(TARGET_DIR)/etc/nodogsplash/htdocs/images/ +endef + +$(eval $(generic-package))