Skip to content

Commit

Permalink
app-admin/testdisk: Fix incorrect slot-operators.
Browse files Browse the repository at this point in the history
This addresses Bug 555058. I would like to thank the reporter
<[email protected]> for noticing this problem and providing a first patch,
and <[email protected]> for taking the time to address slot operators and
their correct use in great detail.

Package-Manager: portage-2.2.20.1
  • Loading branch information
nicolasbock committed Aug 22, 2015
1 parent 1912583 commit fb553cb
Show file tree
Hide file tree
Showing 2 changed files with 165 additions and 0 deletions.
83 changes: 83 additions & 0 deletions app-admin/testdisk/testdisk-6.14-r2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

AUTOTOOLS_AUTORECONF=1

inherit autotools-utils eutils flag-o-matic

DESCRIPTION="Checks and undeletes partitions + PhotoRec, signature based recovery tool"
HOMEPAGE="http://www.cgsecurity.org/wiki/TestDisk"
SRC_URI="http://www.cgsecurity.org/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="ewf jpeg ntfs reiserfs static qt4"

REQUIRED_USE="static? ( !qt4 )"

# WARNING: reiserfs support does NOT work with reiserfsprogs
# you MUST use progsreiserfs-0.3.1_rc8 (the last version ever released).
DEPEND="
static? (
sys-apps/util-linux[static-libs]
>=sys-libs/ncurses-5.2[static-libs]
jpeg? ( virtual/jpeg:0[static-libs] )
ntfs? ( sys-fs/ntfs3g[static-libs] )
reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8[static-libs] )
>=sys-fs/e2fsprogs-1.35[static-libs]
sys-libs/zlib[static-libs]
!arm? ( ewf? ( app-forensics/libewf:=[static-libs] ) )
)
!static? (
sys-apps/util-linux
>=sys-libs/ncurses-5.2
jpeg? ( virtual/jpeg:0 )
ntfs? ( sys-fs/ntfs3g )
reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8 )
>=sys-fs/e2fsprogs-1.35
sys-libs/zlib
!arm? ( ewf? ( app-forensics/libewf:= ) )
qt4? ( dev-qt/qtgui:4 )
)"
RDEPEND="!static? ( ${DEPEND} )"

AUTOTOOLS_IN_SOURCE_BUILD=1
DOCS=( )
PATCHES=( "${FILESDIR}/fix_rare_crash-6.14.patch" )

src_configure() {
local myconf

# this is static method is the same used by upstream for their 'static' make
# target, but better, as it doesn't break.
use static && append-ldflags -static

# --with-foo are broken, any use of --with/--without disable the
# functionality.
# The following variation must be used.
use reiserfs || myconf+=" --without-reiserfs"
use ntfs || myconf+=" --without-ntfs --without-ntfs3g"
use jpeg || myconf+=" --without-jpeg"
use ewf || myconf+=" --without-ewf"
myconf+=$(usex qt4 " --enable-qt" " --disable-qt")

econf \
--docdir "${ROOT}/usr/share/doc/${P}" \
--enable-sudo \
${myconf}

# perform safety checks for NTFS, REISERFS and JPEG
if use ntfs && ! egrep -q '^#define HAVE_LIBNTFS(3G)? 1$' "${S}"/config.h ; then
die "Failed to find either NTFS or NTFS-3G library."
fi
if use reiserfs && egrep -q 'undef HAVE_LIBREISERFS\>' "${S}"/config.h ; then
die "Failed to find reiserfs library."
fi
if use jpeg && egrep -q 'undef HAVE_LIBJPEG\>' "${S}"/config.h ; then
die "Failed to find jpeg library."
fi
}
82 changes: 82 additions & 0 deletions app-admin/testdisk/testdisk-7.0-r3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

AUTOTOOLS_AUTORECONF=1

inherit autotools-utils eutils flag-o-matic

DESCRIPTION="Checks and undeletes partitions + PhotoRec, signature based recovery tool"
HOMEPAGE="http://www.cgsecurity.org/wiki/TestDisk"
SRC_URI="http://www.cgsecurity.org/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE="ewf jpeg ntfs reiserfs static qt4"

REQUIRED_USE="static? ( !qt4 )"

# WARNING: reiserfs support does NOT work with reiserfsprogs
# you MUST use progsreiserfs-0.3.1_rc8 (the last version ever released).
DEPEND="
static? (
sys-apps/util-linux[static-libs]
>=sys-libs/ncurses-5.2[static-libs]
jpeg? ( virtual/jpeg:0[static-libs] )
ntfs? ( sys-fs/ntfs3g[static-libs] )
reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8[static-libs] )
>=sys-fs/e2fsprogs-1.35[static-libs]
sys-libs/zlib[static-libs]
!arm? ( ewf? ( app-forensics/libewf:=[static-libs] ) )
)
!static? (
sys-apps/util-linux
>=sys-libs/ncurses-5.2
jpeg? ( virtual/jpeg:0 )
ntfs? ( sys-fs/ntfs3g )
reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8 )
>=sys-fs/e2fsprogs-1.35
sys-libs/zlib
!arm? ( ewf? ( app-forensics/libewf:= ) )
qt4? ( dev-qt/qtgui:4 )
)"
RDEPEND="!static? ( ${DEPEND} )"

AUTOTOOLS_IN_SOURCE_BUILD=1
DOCS=( )

src_configure() {
local myconf

# this is static method is the same used by upstream for their 'static' make
# target, but better, as it doesn't break.
use static && append-ldflags -static

# --with-foo are broken, any use of --with/--without disable the
# functionality.
# The following variation must be used.
use reiserfs || myconf+=" --without-reiserfs"
use ntfs || myconf+=" --without-ntfs --without-ntfs3g"
use jpeg || myconf+=" --without-jpeg"
use ewf || myconf+=" --without-ewf"
myconf+=$(usex qt4 " --enable-qt" " --disable-qt")

econf \
--docdir "${ROOT}/usr/share/doc/${P}" \
--enable-sudo \
${myconf}

# perform safety checks for NTFS, REISERFS and JPEG
if use ntfs && ! egrep -q '^#define HAVE_LIBNTFS(3G)? 1$' "${S}"/config.h ; then
die "Failed to find either NTFS or NTFS-3G library."
fi
if use reiserfs && egrep -q 'undef HAVE_LIBREISERFS\>' "${S}"/config.h ; then
die "Failed to find reiserfs library."
fi
if use jpeg && egrep -q 'undef HAVE_LIBJPEG\>' "${S}"/config.h ; then
die "Failed to find jpeg library."
fi
}

0 comments on commit fb553cb

Please sign in to comment.