diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2012-01-28 01:51:23 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2012-01-28 01:51:23 +0000 |
commit | 1ef8df75a8287613cb6e86d7864855ad77448e5a (patch) | |
tree | 84fb0ca42816ae5d568e00a49b2297a8bc5b0a7a /app-cdr | |
parent | Fix building because of missing #include(s) wrt #401107 by James Shaw (diff) | |
download | gentoo-2-1ef8df75a8287613cb6e86d7864855ad77448e5a.tar.gz gentoo-2-1ef8df75a8287613cb6e86d7864855ad77448e5a.tar.bz2 gentoo-2-1ef8df75a8287613cb6e86d7864855ad77448e5a.zip |
Change cdda2wav, cdrecord, readcd and rscsi from suid root to sgid disk for udev users (note: tested with cdrecord -scanbus)
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Diffstat (limited to 'app-cdr')
-rw-r--r-- | app-cdr/cdrtools/ChangeLog | 11 | ||||
-rw-r--r-- | app-cdr/cdrtools/cdrtools-3.01_alpha06-r1.ebuild | 139 |
2 files changed, 148 insertions, 2 deletions
diff --git a/app-cdr/cdrtools/ChangeLog b/app-cdr/cdrtools/ChangeLog index 7342934393a2..a297e082a15a 100644 --- a/app-cdr/cdrtools/ChangeLog +++ b/app-cdr/cdrtools/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-cdr/cdrtools -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.284 2011/10/18 17:11:08 billie Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/ChangeLog,v 1.285 2012/01/28 01:51:23 ssuominen Exp $ + +*cdrtools-3.01_alpha06-r1 (28 Jan 2012) + + 28 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> + +cdrtools-3.01_alpha06-r1.ebuild: + Change cdda2wav, cdrecord, readcd and rscsi from suid root to sgid disk for + udev users (note: tested with cdrecord -scanbus) *cdrtools-3.01_alpha06 (18 Oct 2011) diff --git a/app-cdr/cdrtools/cdrtools-3.01_alpha06-r1.ebuild b/app-cdr/cdrtools/cdrtools-3.01_alpha06-r1.ebuild new file mode 100644 index 000000000000..fbc28ade6988 --- /dev/null +++ b/app-cdr/cdrtools/cdrtools-3.01_alpha06-r1.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-cdr/cdrtools/cdrtools-3.01_alpha06-r1.ebuild,v 1.1 2012/01/28 01:51:23 ssuominen Exp $ + +EAPI=4 + +inherit multilib eutils toolchain-funcs flag-o-matic + +MY_P="${P/_alpha/a}" + +DESCRIPTION="A set of tools for CD/DVD reading and recording, including cdrecord" +HOMEPAGE="http://cdrecord.berlios.de/private/cdrecord.html" +SRC_URI="ftp://ftp.berlios.de/pub/cdrecord/$([[ -z ${PV/*_alpha*} ]] && echo 'alpha/')/${MY_P}.tar.bz2" + +LICENSE="GPL-2 LGPL-2.1 CDDL-Schily" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="acl unicode" + +DEPEND="acl? ( virtual/acl ) + >=sys-devel/gettext-0.18.1.1 + !app-cdr/cdrkit" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${P/_alpha[0-9][0-9]} + +src_prepare() { + # Remove profiled make files. + rm -f $(find . -name '*_p.mk') || die "rm profiled" + + # Adjusting hardcoded paths. + sed -i -e 's:opt/schily:usr:' \ + $(find ./ -type f -name \*.[0-9ch] -exec grep -l 'opt/schily' '{}' '+') \ + || die "sed opt/schily" + + sed -i -e "s:\(^INSDIR=\t\tshare/doc/\):\1${PF}/:" \ + $(find ./ -type f -exec grep -l 'INSDIR.\+doc' '{}' '+') \ + || die "sed doc" + + # Respect libdir. + sed -i -e "s:\(^INSDIR=\t\t\)lib:\1$(get_libdir):" \ + $(find ./ -type f -exec grep -l '^INSDIR.\+lib\(/siconv\)\?$' '{}' '+') \ + || die "sed multilib" + + # Do not install static libraries. + sed -i -e 's:include\t\t.*rules.lib::' \ + $(find ./ -type f -exec grep -l '^include.\+rules\.lib' '{}' '+') \ + || die "sed rules" + + # Respect CC/CXX variables. + cd "${S}"/RULES + local tcCC=$(tc-getCC) + local tcCXX=$(tc-getCXX) + sed -i -e "/cc-config.sh/s|\$(C_ARCH:%64=%) \$(CCOM_DEF)|${tcCC} ${tcCC}|" \ + rules1.top || die "sed rules1.top" + sed -i -e "/^\(CC\|DYNLD\|LDCC\|MKDEP\)/s|gcc|${tcCC}|" \ + -e "/^\(CC++\|DYNLDC++\|LDCC++\|MKC++DEP\)/s|g++|${tcCXX}|" \ + cc-gcc.rul || die "sed cc-gcc.rul" + sed -i -e "s|^#CONFFLAGS +=\t-cc=\$(XCC_COM)$|CONFFLAGS +=\t-cc=${tcCC}|g" \ + rules.cnf || die "sed rules.cnf" + + # Create additional symlinks needed for some archs (armv4l already created) + local t + for t in armv4tl armv5l armv5tel armv6l armv7l ppc64 s390x; do + ln -s i586-linux-cc.rul ${t}-linux-cc.rul || die + ln -s i586-linux-gcc.rul ${t}-linux-gcc.rul || die + done + + # amd64-fbsd support + ln -s i386-freebsd-cc.rul amd64-freebsd-cc.rul || die + ln -s i386-freebsd-gcc.rul amd64-freebsd-gcc.rul || die + + # Schily make setup. + cd "${S}"/DEFAULTS + local os="linux" + + sed -i \ + -e "s:/opt/schily:/usr:g" \ + -e "s:/usr/src/linux/include::g" \ + -e "s:bin:root:g" \ + Defaults.${os} || die "sed Schily make setup" +} + +# skip obsolete configure script +src_configure() { : ; } + +src_compile() { + if use unicode; then + local flags="$(test-flags -finput-charset=ISO-8859-1 -fexec-charset=UTF-8)" + if [[ -n ${flags} ]]; then + append-flags ${flags} + else + ewarn "Your compiler does not support the options required to build" + ewarn "cdrtools with unicode in USE. unicode flag will be ignored." + fi + fi + + if ! use acl; then + CFLAGS="${CFLAGS} -DNO_ACL" + fi + + # LIB_ACL_TEST removed to support x86-fbsd + # If not built with -j1, "sometimes" cdda2wav will not be built. + emake -j1 CC="$(tc-getCC)" CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" \ + LDOPTX="${LDFLAGS}" \ + INS_BASE="${D}/usr" INS_RBASE="${D}" LINKMODE="dynamic" \ + RUNPATH="" GMAKE_NOWARN="true" +} + +src_install() { + # If not built with -j1, "sometimes" manpages are not installed. + emake -j1 CC="$(tc-getCC)" CPPOPTX="${CPPFLAGS}" COPTX="${CFLAGS}" \ + LDOPTX="${LDFLAGS}" \ + INS_BASE="${D}/usr" INS_RBASE="${D}" LINKMODE="dynamic" \ + RUNPATH="" GMAKE_NOWARN="true" install + + # These symlinks are for compat with cdrkit. + dosym schily /usr/include/scsilib + dosym ../scg /usr/include/schily/scg + + dodoc ABOUT Changelog* CONTRIBUTING PORTING README.linux-shm READMEs/README.linux + + cd "${S}"/cdda2wav + docinto cdda2wav + dodoc Changelog FAQ Frontends HOWTOUSE NEEDED README THANKS TODO + + cd "${S}"/mkisofs + docinto mkisofs + dodoc ChangeLog* TODO + + # Remove man pages related to the build system + rm -rvf "${D}"/usr/share/man/man5 + + # Change from -rws--x--x to -rwx--s--x for udev users + if has_version sys-fs/udev; then + fowners root:disk /usr/bin/{cdda2wav,cdrecord,readcd} /usr/sbin/rscsi + fperms u-s,g+s /usr/bin/{cdda2wav,cdrecord,readcd} /usr/sbin/rscsi + fi +} |