summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/rioutil')
-rw-r--r--app-misc/rioutil/Manifest1
-rw-r--r--app-misc/rioutil/files/75-rio.rules38
-rw-r--r--app-misc/rioutil/files/rioutil-1.5.0-buffer-overflow.patch15
-rw-r--r--app-misc/rioutil/metadata.xml11
-rw-r--r--app-misc/rioutil/rioutil-1.5.0-r2.ebuild35
5 files changed, 100 insertions, 0 deletions
diff --git a/app-misc/rioutil/Manifest b/app-misc/rioutil/Manifest
new file mode 100644
index 000000000000..cafc74dca10e
--- /dev/null
+++ b/app-misc/rioutil/Manifest
@@ -0,0 +1 @@
+DIST rioutil-1.5.0.tar.gz 401244 SHA256 4991cda30bcd0cd01097c4d220c5facf67e988d4bbfc2f272a359ac89d52e9a7 SHA512 3e3bf1c053e2f0146c504c5015e33cd3281daad136f41d82100d6181b6720c7f1131615c663f821573d7aeb077efc1b59e8e23a8f15a851e332ad61ea0479f1d WHIRLPOOL dbf9a1d4164dd2987e856f534a26230a57daced5c9a6f465652b16cdca94832a06514ff753c2ae5af2a5cc27d487ec1de6e143b1854b1207f1d81dd2d8f2d486
diff --git a/app-misc/rioutil/files/75-rio.rules b/app-misc/rioutil/files/75-rio.rules
new file mode 100644
index 000000000000..610131a7dbe2
--- /dev/null
+++ b/app-misc/rioutil/files/75-rio.rules
@@ -0,0 +1,38 @@
+ACTION!="add", GOTO="rio_rules_end"
+SUBSYSTEM!="usb|usb_device", GOTO="rio_rules_end"
+
+# Diamond flash players
+# Rio 600
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5001", MODE="0660", GROUP="usb"
+# Rio 800
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5002", MODE="0660", GROUP="usb"
+# Nike psa[play
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5003", MODE="0660", GROUP="usb"
+# Rio S10
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5005", MODE="0660", GROUP="usb"
+# Rio S50
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5006", MODE="0660", GROUP="usb"
+# Rio S35
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5007", MODE="0660", GROUP="usb"
+# Rio 900
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5008", MODE="0660", GROUP="usb"
+# Rio S30
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5009", MODE="0660", GROUP="usb"
+# Fuse
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="500d", MODE="0660", GROUP="usb"
+# Chiba
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="500e", MODE="0660", GROUP="usb"
+# Cali
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="500f", MODE="0660", GROUP="usb"
+# Cali256
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="503f", MODE="0660", GROUP="usb"
+# Rio S11
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5010", MODE="0660", GROUP="usb"
+
+# Diamond hard drive players
+# Rio Riot
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5202", MODE="0660", GROUP="usb"
+# Nitrus
+ATTRS{idVendor}=="045a", ATTRS{idProduct}=="5220", MODE="0660", GROUP="usb"
+
+LABEL="rio_rules_end"
diff --git a/app-misc/rioutil/files/rioutil-1.5.0-buffer-overflow.patch b/app-misc/rioutil/files/rioutil-1.5.0-buffer-overflow.patch
new file mode 100644
index 000000000000..1739a146c485
--- /dev/null
+++ b/app-misc/rioutil/files/rioutil-1.5.0-buffer-overflow.patch
@@ -0,0 +1,15 @@
+flist->genre is defined as 'char genre[17]' so don't copy 22 into it
+
+Patch by Kevin McCarthy <signals42@gmail.com>
+
+--- librioutil/file_list.c
++++ librioutil/file_list.c
+@@ -241,7 +241,7 @@
+ strncpy(flist->title, info.data->title, 64);
+ strncpy(flist->album, info.data->album, 64);
+ strncpy(flist->name, info.data->name, 64);
+- strncpy(flist->genre, (char *)info.data->genre2, 22);
++ strncpy(flist->genre, (char *)info.data->genre2, 17);
+
+ strncpy(flist->year, (char *)info.data->year2, 4);
+
diff --git a/app-misc/rioutil/metadata.xml b/app-misc/rioutil/metadata.xml
new file mode 100644
index 000000000000..855f76f97b84
--- /dev/null
+++ b/app-misc/rioutil/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ <description>This package lacks a primary herd or maintainer.</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">rioutil</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-misc/rioutil/rioutil-1.5.0-r2.ebuild b/app-misc/rioutil/rioutil-1.5.0-r2.ebuild
new file mode 100644
index 000000000000..3233708aeb3d
--- /dev/null
+++ b/app-misc/rioutil/rioutil-1.5.0-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit multilib eutils
+
+DESCRIPTION="Command line tool for transfering mp3s to and from a Rio 600, 800, Rio Riot, and Nike PSA/Play"
+HOMEPAGE="http://rioutil.sourceforge.net/"
+SRC_URI="mirror://sourceforge/rioutil/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="virtual/libusb:0"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-buffer-overflow.patch
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" libdir="/usr/$(get_libdir)" install
+ find "${ED}" -name '*.la' -exec rm -f {} +
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ insinto /lib/udev/rules.d
+ doins "${FILESDIR}"/75-rio.rules
+}