$pkgurl "http://www.amescon.com/products/raspicomm/"
$pkgdesc "Support Amescon's RasPiComm module: Kernel module for RS-485 Port and
OpenRC services to set up RTC, Joystick and LEDs"
The RasPiConn module is a board to attach on a Raspberry Pis GPIO PINs that
provides an RS-232 Port, RS-485 Port, a real time clock, a joystick (digital),
and two LEDs.
---
testing/raspicomm-module/APKBUILD | 58 ++++++++++++++++++++++
testing/raspicomm-module/raspicomm-joystick | 46 +++++++++++++++++
testing/raspicomm-module/raspicomm-leds | 40 +++++++++++++++
.../raspicomm-module.post-deinstall | 3 ++
.../raspicomm-module/raspicomm-module.post-install | 13 +++++
.../raspicomm-module/raspicomm-module.post-upgrade | 3 ++
testing/raspicomm-module/raspicomm-rtc | 8 +++
7 files changed, 171 insertions(+)
create mode 100644 testing/raspicomm-module/APKBUILD
create mode 100755 testing/raspicomm-module/raspicomm-joystick
create mode 100755 testing/raspicomm-module/raspicomm-leds
create mode 100755 testing/raspicomm-module/raspicomm-module.post-deinstall
create mode 100755 testing/raspicomm-module/raspicomm-module.post-install
create mode 100755 testing/raspicomm-module/raspicomm-module.post-upgrade
create mode 100755 testing/raspicomm-module/raspicomm-rtc
diff --git a/testing/raspicomm-module/APKBUILD b/testing/raspicomm-module/APKBUILD
new file mode 100644
index 0000000..e8ca347
--- /dev/null
+++ b/testing/raspicomm-module/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Marian Buschsieweke (mari (dot) hahn (at) wwu (dot) de)
+# Maintainer:
+pkgname=raspicomm-module
+pkgver=1.4
+pkgrel=0
+pkgdesc="Support Amescon's RasPiComm module: Kernel module for RS-485 Port and OpenRC services to set up RTC, Joystick and LEDs"
+url="http://www.amescon.com/products/raspicomm/"
+arch="all"
+license="unknown"
+depends="linux-rpi"
+depends_dev="linux-rpi-dev"
+makedepends="$depends_dev"
+install="${pkgname}.post-install ${pkgname}.post-upgrade ${pkgname}.post-deinstall"
+subpackages="" #"$pkgname-dev $pkgname-doc"
+source="saveas-http://github.com/amescon/${pkgname}/archive/v${pkgver}.tar.gz/raspicomm-module-v${pkgver}.tar.gz
+ raspicomm-rtc
+ raspicomm-joystick
+ raspicomm-leds"
+
+_builddir="${srcdir}/${pkgname}-${pkgver}"
+_module_dir="/lib/modules/$(apk info linux-rpi | grep description | sed -e 's/ description://' -e 's/linux-rpi-//' -e 's/r//')-rpi"
+_module_name="raspicommrs485"
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make -f Makefile_rpi
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm644 ${_module_name}.ko "${pkgdir}/${_module_dir}/kernel/custom/${_module_name}.ko"
+ install -Dm755 ../raspicomm-rtc "${pkgdir}/etc/init.d/raspicomm-rtc"
+ install -Dm755 ../raspicomm-joystick "${pkgdir}/etc/init.d/raspicomm-joystick"
+ install -Dm755 ../raspicomm-leds "${pkgdir}/etc/init.d/raspicomm-leds"
+}
+
+md5sums="a1ce78aabf54ff34910f51d6df552080 raspicomm-module-v1.4.tar.gz
+40c281e5b2f90b424c013a8159e9b00b raspicomm-rtc
+f65fd74ca42ed979a306f6c4f793f331 raspicomm-joystick
+afcda01e94f534e807255ffd2806782b raspicomm-leds"
+sha256sums="dc21b43e9c663a4d3b2fdc39ed20cace2e1e1901f2476cc9305ec3f3a1722895 raspicomm-module-v1.4.tar.gz
+443c89dddf6d0c97e152ec8cbade9e275fe552c020a1007e4c64e555f9fa90ee raspicomm-rtc
+7a0396b53c6b2f72d294d46bf9769a43301f253a401d8fe69d74d21df3e534ef raspicomm-joystick
+9c9226439e7ca3ae3a7f144488df56e13de07537ca4b0473807d5919f377d2e7 raspicomm-leds"
+sha512sums="2c8b1516362cf0c88e3fe9caedabe48a4d5f459407974f040b24f79b782b4f43a64738b2ea4a4b43b0397cfbfe7d7a333d31a018334cb55d4bd84ec4aa8010b2 raspicomm-module-v1.4.tar.gz
+04e62603ea8667625d37e45b09b031d84e7d0b77e47fd9eeef86d5b39374c922a78cad8f55b11140931a65f4225f347da2c7a2ec3b7d4a14af85cab5b8b50392 raspicomm-rtc
+11cd2c8bfa000f1af301960d97a234f50a5fbb77355a00c09c6cb3c16ae14afb562caaa4d339e9faeac255f22474c55e0b7726ad3e469a88dae01d8b392b80c2 raspicomm-joystick
+12c791a27f38db94bc7e2222d5a517d79f6ee495122d50c3687e94a29dc0126291fb0f17327b704d0be4549e2b85b5d5ac9be1f7cb3e96e5e497c7ac91f40a41 raspicomm-leds"
diff --git a/testing/raspicomm-module/raspicomm-joystick b/testing/raspicomm-module/raspicomm-joystick
new file mode 100755
index 0000000..fe5cf1a
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-joystick
@@ -0,0 +1,46 @@
+#!/sbin/openrc-run
+# Enable the joystick on Amescon's RasPiComm module
+
+gpio_up() {
+ if [ ! -e "/sys/class/gpio/gpio$1" ]; then
+ echo $1 > /sys/class/gpio/export
+ fi
+ echo $2 > "/sys/class/gpio/gpio$1/direction"
+
+ chmod 664 "/sys/class/gpio/gpio$1/value"
+ chown root:gpio "/sys/class/gpio/gpio$1/value"
+ ln -s "/sys/class/gpio/gpio$1/value" "/dev/raspicomm/$3"
+}
+
+gpio_down() {
+ if [ -e "/sys/class/gpio/gpio$1" ]; then
+ echo $1 > /sys/class/gpio/unexport
+ fi
+
+ rm -f "/dev/raspicomm/$2"
+}
+
+prepare_folder() {
+ mkdir -p "/dev/raspicomm"
+}
+
+start() {
+ ebegin "Exporting RasPiComm's joystick"
+ prepare_folder
+ gpio_up "4" "in" "js_right"
+ gpio_up "22" "in" "js_push"
+ gpio_up "23" "in" "js_down"
+ gpio_up "24" "in" "js_left"
+ gpio_up "25" "in" "js_up"
+ eend $?
+}
+
+stop() {
+ ebegin "Unexporting RasPiComm's jaystick"
+ gpio_down "4" "js_right"
+ gpio_down "22" "js_push"
+ gpio_down "23" "js_down"
+ gpio_down "24" "js_left"
+ gpio_down "25" "js_up"
+ eend $?
+}
diff --git a/testing/raspicomm-module/raspicomm-leds b/testing/raspicomm-module/raspicomm-leds
new file mode 100755
index 0000000..ecbd003
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-leds
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+# Enable the joystick on Amescon's RasPiComm module
+
+gpio_up() {
+ if [ ! -e "/sys/class/gpio/gpio$1" ]; then
+ echo $1 > /sys/class/gpio/export
+ fi
+ echo $2 > "/sys/class/gpio/gpio$1/direction"
+
+ chmod 664 "/sys/class/gpio/gpio$1/value"
+ chown root:gpio "/sys/class/gpio/gpio$1/value"
+ ln -s "/sys/class/gpio/gpio$1/value" "/dev/raspicomm/$3"
+}
+
+gpio_down() {
+ if [ -e "/sys/class/gpio/gpio$1" ]; then
+ echo $1 > /sys/class/gpio/unexport
+ fi
+
+ rm -f "/dev/raspicomm/$2"
+}
+
+prepare_folder() {
+ mkdir -p "/dev/raspicomm"
+}
+
+start() {
+ ebegin "Exporting RasPiComm's LEDs"
+ prepare_folder
+ gpio_up "18" "out" "led_1"
+ gpio_up "27" "out" "led_2"
+ eend $?
+}
+
+stop() {
+ ebegin "Unexporting RasPiComm's LEDs"
+ gpio_down "18" "led_1"
+ gpio_down "27" "led_2"
+ eend $?
+}
diff --git a/testing/raspicomm-module/raspicomm-module.post-deinstall b/testing/raspicomm-module/raspicomm-module.post-deinstall
new file mode 100755
index 0000000..578448c
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-module.post-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo "Deleting group \"gpio\""
+delgroup gpio
diff --git a/testing/raspicomm-module/raspicomm-module.post-install b/testing/raspicomm-module/raspicomm-module.post-install
new file mode 100755
index 0000000..8bb6441
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-module.post-install
@@ -0,0 +1,13 @@
+#!/bin/sh
+echo "Running depmod"
+depmod
+echo "Creating group \"gpio\""
+addgroup gpio
+echo "The follwing OpenRC Services were installed:"
+echo " - \"raspicomm-rtc\": Sets up the real time clock"
+echo " - \"raspicomm-joystick\": (Un-)Exports the joystick's GPIOs"
+echo " - \"raspicomm-leds\": (Un-)Exports the LEDs GPIOs"
+echo
+echo "For convenience \"raspicomm-joystick\" and \"raspicomm-leds\" create"
+echo "symlinks to corret GPIOs under \"/dev/raspicomm\". The GPIOs will be "
+echo "readable and writable by users in group \"gpio\"."
diff --git a/testing/raspicomm-module/raspicomm-module.post-upgrade b/testing/raspicomm-module/raspicomm-module.post-upgrade
new file mode 100755
index 0000000..cf83677
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-module.post-upgrade
@@ -0,0 +1,3 @@
+#!/bin/sh
+echo "Running depmod"
+depmod
diff --git a/testing/raspicomm-module/raspicomm-rtc b/testing/raspicomm-module/raspicomm-rtc
new file mode 100755
index 0000000..741989a
--- /dev/null
+++ b/testing/raspicomm-module/raspicomm-rtc
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+# Enable the real time clock on Amescon's RasPiComm module
+
+start() {
+ ebegin "Starting dropbear"
+ echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
+ eend $?
+}
--
2.3.7
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---
Hi,
Comments inline.
On Fri, 1 May 2015 20:18:44 +0200
Marian Buschsieweke <mari.hahn@wwu.de> wrote:
> $pkgurl "http://www.amescon.com/products/raspicomm/"
> $pkgdesc "Support Amescon's RasPiComm module: Kernel module for
> RS-485 Port and OpenRC services to set up RTC, Joystick and LEDs"
>
> The RasPiConn module is a board to attach on a Raspberry Pis GPIO
> PINs that provides an RS-232 Port, RS-485 Port, a real time clock, a
> joystick (digital), and two LEDs.
> ---
>
> diff --git a/testing/raspicomm-module/APKBUILD
> b/testing/raspicomm-module/APKBUILD new file mode 100644
> index 0000000..e8ca347
> --- /dev/null
> +++ b/testing/raspicomm-module/APKBUILD
> @@ -0,0 +1,58 @@
> +# Contributor: Marian Buschsieweke (mari (dot) hahn (at) wwu (dot)
> de) +# Maintainer:
> +pkgname=raspicomm-module
> +pkgver=1.4
> +pkgrel=0
> +pkgdesc="Support Amescon's RasPiComm module: Kernel module for
> RS-485 Port and OpenRC services to set up RTC, Joystick and LEDs"
> +url="http://www.amescon.com/products/raspicomm/" +arch="all"
> +license="unknown"
> +depends="linux-rpi"
> +depends_dev="linux-rpi-dev"
> +makedepends="$depends_dev"
> +install="${pkgname}.post-install ${pkgname}.post-upgrade
> ${pkgname}.post-deinstall" +subpackages="" #"$pkgname-dev
> $pkgname-doc"
> +source="saveas-http://github.com/amescon/${pkgname}/archive/v${pkgver}.tar.gz/raspicomm-module-v${pkgver}.tar.gz
> + raspicomm-rtc
> + raspicomm-joystick
> + raspicomm-leds"
> +
> +_builddir="${srcdir}/${pkgname}-${pkgver}"
> +_module_dir="/lib/modules/$(apk info linux-rpi | grep description |
> sed -e 's/ description://' -e 's/linux-rpi-//' -e 's/r//')-rpi"
You are not allowed to spawn sub-shells, or even worse call apk from
APKBUILD global context. See main/dahdi-linux-grsec for example how to
do kernel plugins.
> diff --git a/testing/raspicomm-module/raspicomm-module.post-deinstall
> b/testing/raspicomm-module/raspicomm-module.post-deinstall new file
> mode 100755 index 0000000..578448c
> --- /dev/null
> +++ b/testing/raspicomm-module/raspicomm-module.post-deinstall
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +echo "Deleting group \"gpio\""
> +delgroup gpio
Groups should not be deleted on uninstall. Please remove this.
> diff --git a/testing/raspicomm-module/raspicomm-module.post-install
> b/testing/raspicomm-module/raspicomm-module.post-install new file
> mode 100755 index 0000000..8bb6441
> --- /dev/null
> +++ b/testing/raspicomm-module/raspicomm-module.post-install
> @@ -0,0 +1,13 @@
> +#!/bin/sh
> +echo "Running depmod"
> +depmod
depmod is unneeded. apk will run busybox's trigger after all packages
are installed/upgraded; it'll run depmod for you. Remove this.
> +echo "Creating group \"gpio\""
> +addgroup gpio
This should be silent, and done with -S (to create system group). See
other packages how groups are created silently. You will also need
"pkggroups" in the main APKBUILD.
> +echo "The follwing OpenRC Services were installed:"
> +echo " - \"raspicomm-rtc\": Sets up the real time clock"
> +echo " - \"raspicomm-joystick\": (Un-)Exports the joystick's GPIOs"
> +echo " - \"raspicomm-leds\": (Un-)Exports the LEDs GPIOs"
> +echo
> +echo "For convenience \"raspicomm-joystick\" and \"raspicomm-leds\"
> create" +echo "symlinks to corret GPIOs under \"/dev/raspicomm\". The
> GPIOs will be " +echo "readable and writable by users in group
> \"gpio\"." diff --git
> a/testing/raspicomm-module/raspicomm-module.post-upgrade
> b/testing/raspicomm-module/raspicomm-module.post-upgrade new file
> mode 100755 index 0000000..cf83677 --- /dev/null
> +++ b/testing/raspicomm-module/raspicomm-module.post-upgrade
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +echo "Running depmod"
> +depmod
Again this needs to go away. It's unneeded.
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---