diff options
author | Thomas D <whissi@whissi.de> | 2016-02-18 22:20:35 +0100 |
---|---|---|
committer | Thomas D <whissi@whissi.de> | 2016-02-19 03:19:37 +0100 |
commit | e788d1233936b0c24d52abd74c43fc6a4a6e09cf (patch) | |
tree | f49ad27b20b26891b11c309124776bbb1cbbc60c /sys-fs | |
parent | dev-python/datashape: Bump (diff) | |
download | gentoo-e788d1233936b0c24d52abd74c43fc6a4a6e09cf.tar.gz gentoo-e788d1233936b0c24d52abd74c43fc6a4a6e09cf.tar.bz2 gentoo-e788d1233936b0c24d52abd74c43fc6a4a6e09cf.zip |
sys-fs/owfs: Bumped to v3.1p1
Changes:
* Bumped to upstream v3.1p1 (Closes #572004)
* Bumped to EAPI=6
* Added ewarn to tell user that they maybe have to install a custom UDEV
rule (Closes #315935)
* Various runscript fixes
- Services were misusing "need net" (See #439092)
- start_pre added to fix problems caused by non-existing pidfile dir
(Closes #553418)
Package-Manager: portage-2.2.27
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/owfs/Manifest | 1 | ||||
-rw-r--r-- | sys-fs/owfs/files/owfs-3.1-vendordir.patch | 26 | ||||
-rw-r--r-- | sys-fs/owfs/files/owfs.initd-r1 | 36 | ||||
-rw-r--r-- | sys-fs/owfs/files/owftpd.initd-r1 | 36 | ||||
-rw-r--r-- | sys-fs/owfs/files/owhttpd.initd-r1 | 36 | ||||
-rw-r--r-- | sys-fs/owfs/files/owserver.initd-r1 | 35 | ||||
-rw-r--r-- | sys-fs/owfs/metadata.xml | 21 | ||||
-rw-r--r-- | sys-fs/owfs/owfs-3.1_p1.ebuild | 171 |
8 files changed, 351 insertions, 11 deletions
diff --git a/sys-fs/owfs/Manifest b/sys-fs/owfs/Manifest index c70827c67099..cb7f4e36f5ae 100644 --- a/sys-fs/owfs/Manifest +++ b/sys-fs/owfs/Manifest @@ -1 +1,2 @@ DIST owfs-2.7p21.tar.gz 1247466 SHA256 070a3368e9400e900618f8a704f487baf3671f6764715b4de04b151c66d3306d SHA512 ec6d372d32ebf59278c2c68d5fbed42664f52bc1702f4ea8e5506457594943413e37801d341102029cb48a9d8c3d6b3d68615a1dd517c93aa0a475a1bb06c4cf WHIRLPOOL 31901ae07a7431a368cdb4fa0a30a1885da29f55187dc601b53f2e9ebf4e11aba73de93d7f6308671ecb3afa8433548b41a2e79a9a0cc4771adee93a5a6a1ddd +DIST owfs-3.1p1.tar.gz 1400962 SHA256 e69421ae534565c1f8530a2447f583401f4d0d4b1cf3cb8cf399a57133ed7f81 SHA512 f5c2694ce1076969cf4a6970a07b2c2edee42cfbc6886c1790d777d650cc0afe42cf3282328f8832d5286a0aa5827c48e3d4657412ba3391db5e26adfa890cf5 WHIRLPOOL 2a3a4ebeb3eebaf0d370a7dcc8a9a5fb95defa3e218039f9203b996e4ac2272c2a16323bb8e43da39df9a389dbd057e49c936f40bdc08de201076fbd8d2fdba4 diff --git a/sys-fs/owfs/files/owfs-3.1-vendordir.patch b/sys-fs/owfs/files/owfs-3.1-vendordir.patch new file mode 100644 index 000000000000..2592e8ad0fd7 --- /dev/null +++ b/sys-fs/owfs/files/owfs-3.1-vendordir.patch @@ -0,0 +1,26 @@ +diff --git a/module/ownet/perl5/Makefile.am b/module/ownet/perl5/Makefile.am +index 5823f4b..cebe1e6 100644 +--- a/module/ownet/perl5/Makefile.am ++++ b/module/ownet/perl5/Makefile.am +@@ -8,7 +8,7 @@ OWNet/Makefile: OWNet/Makefile.PL + if HAVE_DEBIAN + cd OWNet; $(PERL) Makefile.PL INSTALLDIRS=vendor + else +- cd OWNet; $(PERL) Makefile.PL ++ cd OWNet; $(PERL) Makefile.PL INSTALLDIRS=vendor + endif + + install-data-local: OWNet/Makefile +diff --git a/module/swig/perl5/Makefile.am b/module/swig/perl5/Makefile.am +index 8e5f583..49cd252 100644 +--- a/module/swig/perl5/Makefile.am ++++ b/module/swig/perl5/Makefile.am +@@ -19,7 +19,7 @@ else + if HAVE_DEBIAN + ( cd OW; $(PERL) Makefile.PL INSTALLDIRS=vendor ) + else +- ( cd OW; $(PERL) Makefile.PL ) ++ ( cd OW; $(PERL) Makefile.PL INSTALLDIRS=vendor ) + if HAVE_FREEBSD + $(PERL) -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' OW/Makefile + diff --git a/sys-fs/owfs/files/owfs.initd-r1 b/sys-fs/owfs/files/owfs.initd-r1 new file mode 100644 index 000000000000..4d7f6d4d1b70 --- /dev/null +++ b/sys-fs/owfs/files/owfs.initd-r1 @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +INSTANCE=${SVCNAME#*.} +PROGRAM=${SVCNAME%%.*} +PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid} +OWUID=${OWUID:-owfs} +OWGID=${OWGID:-owfs} + +depend() { + need owserver + use logger +} + +start_pre() { + checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \ + --pid-file ${PIDFILE} \ + --background --error_print 1 \ + ${OWFS_OPTS:--m /var/lib/owfs/mnt --allow_other -s 127.0.0.1:4304} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} -u ${OWUID} + eend $? +} diff --git a/sys-fs/owfs/files/owftpd.initd-r1 b/sys-fs/owfs/files/owftpd.initd-r1 new file mode 100644 index 000000000000..c79545a412e0 --- /dev/null +++ b/sys-fs/owfs/files/owftpd.initd-r1 @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +INSTANCE=${SVCNAME#*.} +PROGRAM=${SVCNAME%%.*} +PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid} +OWUID=${OWUID:-owfs} +OWGID=${OWGID:-owfs} + +depend() { + need owserver + use logger +} + +start_pre() { + checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \ + --pid-file ${PIDFILE} \ + --background --error_print 1 \ + ${OWFTPD_OPTS:---nozero -p 127.0.0.1:4381 -s 127.0.0.1:4304 --max_clients 5 --timeout_ftp 600} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} -u ${OWUID} + eend $? +} diff --git a/sys-fs/owfs/files/owhttpd.initd-r1 b/sys-fs/owfs/files/owhttpd.initd-r1 new file mode 100644 index 000000000000..9ea39ffe3d39 --- /dev/null +++ b/sys-fs/owfs/files/owhttpd.initd-r1 @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +INSTANCE=${SVCNAME#*.} +PROGRAM=${SVCNAME%%.*} +PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid} +OWUID=${OWUID:-owfs} +OWGID=${OWGID:-owfs} + +depend() { + need owserver + use logger +} + +start_pre() { + checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \ + --pid-file ${PIDFILE} \ + --background --error_print 1 \ + ${OWHTTPD_OPTS:---nozero -p 127.0.0.1:4380 -s 127.0.0.1:4304} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} -u ${OWUID} + eend $? +} diff --git a/sys-fs/owfs/files/owserver.initd-r1 b/sys-fs/owfs/files/owserver.initd-r1 new file mode 100644 index 000000000000..da47a82b73e3 --- /dev/null +++ b/sys-fs/owfs/files/owserver.initd-r1 @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Id$ + +INSTANCE=${SVCNAME#*.} +PROGRAM=${SVCNAME%%.*} +PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid} +OWUID=${OWUID:-owfs} +OWGID=${OWGID:-owfs} + +depend() { + use logger +} + +start_pre() { + checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})" +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \ + --pid-file ${PIDFILE} \ + --background --error_print 1 \ + ${OWSERVER_OPTS:---nozero -p 127.0.0.1:4304 -d /dev/ttyS0} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \ + --pidfile ${PIDFILE} -u ${OWUID} + eend $? +} diff --git a/sys-fs/owfs/metadata.xml b/sys-fs/owfs/metadata.xml index abb9646d5261..1d6d9371db09 100644 --- a/sys-fs/owfs/metadata.xml +++ b/sys-fs/owfs/metadata.xml @@ -1,21 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <longdescription> -OWFS (One Wire File System) is an easy way to use the powerful 1-wire system -of Dallas/Maxim. A simple and flexible program to monitor and control the -physical environment. You can write scripts to read temperature, flash -lights, write to an LCD, log and graph, ... -</longdescription> + <longdescription lang="en"> + OWFS (One Wire File System) is an easy way to use the powerful 1-wire system + of Dallas/Maxim. A simple and flexible program to monitor and control the + physical environment. You can write scripts to read temperature, flash + lights, write to an LCD, log and graph, ... + </longdescription> + <upstream> + <remote-id type="sourceforge">owfs</remote-id> + </upstream> <use> <flag name="ftpd">Enable building the OWFS FTP server (owftpd)</flag> <flag name="fuse">Enable building the FUSE-based OWFS client (owfs)</flag> <flag name="httpd">Enable building the OWFS web server (owhttpd)</flag> - <flag name="parport">Enable support for the DS1410E parallel port - adapter</flag> + <flag name="parport">Enable support for the DS1410E parallel port adapter</flag> <flag name="server">Enable building the OWFS server (owserver)</flag> </use> - <upstream> - <remote-id type="sourceforge">owfs</remote-id> - </upstream> </pkgmetadata> diff --git a/sys-fs/owfs/owfs-3.1_p1.ebuild b/sys-fs/owfs/owfs-3.1_p1.ebuild new file mode 100644 index 000000000000..e444582c01de --- /dev/null +++ b/sys-fs/owfs/owfs-3.1_p1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit autotools distutils-r1 perl-functions user + +MY_P=${P/_/} + +DESCRIPTION="Access 1-Wire devices like a filesystem" +SRC_URI="mirror://sourceforge/owfs/${MY_P}.tar.gz" +HOMEPAGE="http://owfs.org/ https://sourceforge.net/projects/owfs/" + +KEYWORDS="~amd64 ~arm ~x86" +SLOT="0/1" +LICENSE="GPL-2" + +RDEPEND=" + fuse? ( sys-fs/fuse ) + perl? ( dev-lang/perl:= ) + php? ( dev-lang/php:=[cli] ) + python? ( ${PYTHON_DEPS} ) + tcl? ( dev-lang/tcl:0= ) + usb? ( virtual/libusb:0 ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] )" + +DEPEND="${RDEPEND} + perl? ( dev-lang/swig ) + php? ( dev-lang/swig ) + python? ( dev-lang/swig )" + +IUSE="debug ftpd fuse httpd parport perl php python tcl usb zeroconf" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1-vendordir.patch +) + +S=${WORKDIR}/${MY_P} + +OWUID=${OWUID:-owfs} +OWGID=${OWGID:-owfs} + +pkg_setup() { + use perl && perl_set_version + + enewgroup ${OWGID} 150 + enewuser ${OWUID} 150 -1 -1 ${OWGID} +} + +src_prepare() { + default + + # Support user's CFLAGS and LDFLAGS. + sed -i "s/@CPPFLAGS@/@CPPFLAGS@ ${CFLAGS}/" \ + module/swig/perl5/OW/Makefile.linux.in || die + sed -i "s/@LIBS@/@LIBS@ ${LDFLAGS}/" \ + module/swig/perl5/OW/Makefile.linux.in || die + + eautoreconf +} + +src_configure() { + # disable owpython since we can build python anyway + # and without it, we don't have to fix the build ;) + local myeconf=( + $(use_enable debug) + $(use_enable fuse owfs) + $(use_enable ftpd owftpd) + $(use_enable httpd owhttpd) + $(use_enable parport) + $(use_enable perl owperl) + $(use_enable php owphp) + --disable-owpython + $(use_enable tcl owtcl) + $(use_enable zeroconf zero) + $(use_enable usb) + ) + + if use httpd || use ftpd || use fuse; then + myeconf+=( --enable-owserver ) + else + myeconf+=( --disable-owserver ) + fi + + econf ${myeconf[@]} +} + +src_compile() { + default + + if use python; then + local CFLAGS="${CFLAGS} -fno-strict-aliasing" + + pushd module/ownet/python > /dev/null || die + distutils-r1_src_compile + popd > /dev/null || die + + pushd module/swig/python > /dev/null || die + emake ow_wrap.c + distutils-r1_src_compile + popd > /dev/null || die + fi +} + +src_test() { :; } + +src_install() { + default + + if use httpd || use ftpd || use fuse; then + newinitd "${FILESDIR}"/owserver.initd-r1 owserver + newconfd "${FILESDIR}"/owserver.confd owserver + + for i in httpd ftpd; do + if use ${i}; then + newinitd "${FILESDIR}"/ow${i}.initd-r1 ow${i} + newconfd "${FILESDIR}"/ow${i}.confd ow${i} + fi + done + + if use fuse; then + dodir /var/lib/owfs + dodir /var/lib/owfs/mnt + newinitd "${FILESDIR}"/owfs.initd-r1 owfs + newconfd "${FILESDIR}"/owfs.confd owfs + fi + fi + + use perl && perl_delete_localpod + + if use python; then + pushd module/ownet/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + + pushd module/swig/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + fi +} + +pkg_postinst() { + if use httpd || use ftpd || use fuse; then + echo + if [[ ${OWUID} != root ]]; then + ewarn + ewarn "In order to allow the OWFS daemon user '${OWUID}' to read" + ewarn "from and/or write to a 1 wire bus controller device, make" + ewarn "sure the user has appropriate permission to access the" + ewarn "corresponding device node/path (e.g. /dev/ttyS0), for example" + ewarn "by adding the user to the group 'uucp' (for serial devices)" + ewarn "or 'usb' (for USB devices accessed via usbfs on /proc/bus/usb)," + ewarn "or install an appropriate UDEV rules (see http://owfs.org/index.php?page=udev-and-usb" + ewarn "for more information)." + ewarn + if use fuse; then + ewarn "In order to allow regular users to read from and/or write to" + ewarn "1 wire bus devices accessible via the owfs FUSE filesystem" + ewarn "client and its filesystem mountpoint, make sure the user is" + ewarn "a member of the group '${OWGID}'." + ewarn + fi + echo + fi + fi +} |