git: 5529844e1456 - main - net/remarkable-devd: new port -- Devd hotplug rules for Remarkable Tablet
Bernhard Fröhlich
decke at bluelife.at
Wed Jul 14 10:43:50 UTC 2021
On Wed, Jul 14, 2021 at 12:37 PM Tobias C. Berner <tcberner at freebsd.org> wrote:
>
> The branch main has been updated by tcberner:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=5529844e1456e2692b756ca5368e215cea0e0a17
>
> commit 5529844e1456e2692b756ca5368e215cea0e0a17
> Author: Trenton Schulz <trueos at norwegianrockcat.com>
> AuthorDate: 2021-07-14 10:32:37 +0000
> Commit: Tobias C. Berner <tcberner at FreeBSD.org>
> CommitDate: 2021-07-14 10:36:53 +0000
>
> net/remarkable-devd: new port -- Devd hotplug rules for Remarkable Tablet
>
> Automatic IP address when connecting a Remarkable Tablet to USB. This
> makes it possible to access your Remarkable tablet via ssh or its USB
> web interface when it's enabled.
>
> PR: 256754
> ---
> net/Makefile | 1 +
> net/remarkable-devd/Makefile | 27 +++++++++++++++++
> net/remarkable-devd/files/pkg-message.in | 14 +++++++++
> net/remarkable-devd/files/remarkable.conf.in | 7 +++++
> net/remarkable-devd/files/remarkable.in | 45 ++++++++++++++++++++++++++++
> net/remarkable-devd/pkg-descr | 3 ++
> 6 files changed, 97 insertions(+)
>
> diff --git a/net/Makefile b/net/Makefile
> index c4dcdcab2497..8c6f797407df 100644
> --- a/net/Makefile
> +++ b/net/Makefile
> @@ -1179,6 +1179,7 @@
> SUBDIR += recvnet
> SUBDIR += redir
> SUBDIR += relayd
> + SUBDIR += remarkable-devd
> SUBDIR += remmina
> SUBDIR += remotebox
> SUBDIR += remotedesk
> diff --git a/net/remarkable-devd/Makefile b/net/remarkable-devd/Makefile
> new file mode 100644
> index 000000000000..bf533ed082be
> --- /dev/null
> +++ b/net/remarkable-devd/Makefile
> @@ -0,0 +1,27 @@
> +# Created by: Trenton Schulz <trueos at norwegianrockcat.com>
> +
> +PORTNAME= remarkable-devd
> +PORTVERSION= 1.0
> +CATEGORIES= net
> +MASTER_SITES= #
> +DISTFILES= #
> +
> +MAINTAINER= trueos at norwegianrockcat.com
> +COMMENT= Devd hotplug rules for Remarkable Tablet
> +
> +LICENSE= BSD2CLAUSE
> +
> +USE_RC_SUBR= remarkable
> +
> +NO_BUILD= yes
> +
> +SUB_FILES= pkg-message \
> + remarkable.conf
> +
> +PLIST_FILES= etc/devd/remarkable.conf
> +
> +do-install:
> + ${INSTALL_DATA} ${WRKDIR}/remarkable.conf ${STAGEDIR}${PREFIX}/etc/devd/remarkable.conf
> + ${INSTALL_SCRIPT} ${WRKDIR}/remarkable ${STAGEDIR}${PREFIX}/etc/rc.d/remarkable
> +
> +.include <bsd.port.mk>
> diff --git a/net/remarkable-devd/files/pkg-message.in b/net/remarkable-devd/files/pkg-message.in
> new file mode 100644
> index 000000000000..fd0cd91764e5
> --- /dev/null
> +++ b/net/remarkable-devd/files/pkg-message.in
> @@ -0,0 +1,14 @@
> +[
> +{ type: install
> + message: <<EOM
> +A devd rule and rc script has been added to get an address from the
> +remarkable tablet when it is connected. This is disabled by default.
> +Set remarkable_enable=YES if you want this to happen automatically. Devd must also be restarted.
> +
> +# sysrc remarkable_enable=YES
> +# service devd restart
> +
> +For details, see %%PREFIX%%/etc/devd/remarkable.conf and %%PREFIX%%/etc/rc.d/remarkable
> +EOM
> +}
> +]
> diff --git a/net/remarkable-devd/files/remarkable.conf.in b/net/remarkable-devd/files/remarkable.conf.in
> new file mode 100644
> index 000000000000..66efd43b8dc2
> --- /dev/null
> +++ b/net/remarkable-devd/files/remarkable.conf.in
> @@ -0,0 +1,7 @@
> +# Connect the Remarkable 1 device and get the IP address
> +attach 100 {
> + device-name "urndis.+";
> + match "vendor" "0x04b3";
> + match "product" "0x4010";
> + action "%%PREFIX%%/etc/rc.d/remarkable start $device-name";
> +};
> diff --git a/net/remarkable-devd/files/remarkable.in b/net/remarkable-devd/files/remarkable.in
> new file mode 100644
> index 000000000000..5033009ea16a
> --- /dev/null
> +++ b/net/remarkable-devd/files/remarkable.in
> @@ -0,0 +1,45 @@
> +#!/bin/sh
> +#
> +# PROVIDE: webcamd
That should be remarkable not webcamd.
> +# REQUIRE: FILESYSTEMS netif dbus
> +# BEFORE: devd
> +# KEYWORD: shutdown
> +
> +. /etc/rc.subr
> +
> +name=remarkable
> +rcvar=remarkable_enable
> +load_rc_config $name
> +
> +devd_device=${2}
> +start_cmd="${name}_start"
> +
> +remarkable_start_devd()
> +{
> + # Find the USB Ethernet for the device
> + # We first grab the total number of interfaces in
> + # the case when all the interfaces are USB Ethernet
> + local total_ifs=`sysctl -n net.link.generic.system.ifcount`
> + local i=0
> + for i in $(seq 0 $total_ifs)
> + do
> + ueparent=`sysctl -n net.ue.$i.%parent`
> + if [ $? -eq 0 ] && [ $ueparent = $devd_device ]; then
> + /sbin/dhclient ue$i
> + return
> + fi
> + done
> + echo "Couldn't find a remarkable tablet."
> +}
> +
> +remarkable_start()
> +{
> + if [ "$devd_device" ]; then
> + remarkable_start_devd
> + else
> + echo "Plug in your Remarkable to connect to it"
> + fi
> +}
> +
> +run_rc_command "$1"
> +
> diff --git a/net/remarkable-devd/pkg-descr b/net/remarkable-devd/pkg-descr
> new file mode 100644
> index 000000000000..1196e4e754b6
> --- /dev/null
> +++ b/net/remarkable-devd/pkg-descr
> @@ -0,0 +1,3 @@
> +Automatic IP address when connecting a Remarkable Tablet to USB. This
> +makes it possible to access your Remarkable tablet via ssh or its USB
> +web interface when it's enabled.
More information about the dev-commits-ports-all
mailing list