Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Apr 2019 21:00:26 +0000 (UTC)
From:      Kai Knoblich <kai@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r498334 - in head/sysutils/dvdisaster: . files
Message-ID:  <201904072100.x37L0QYb077982@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kai
Date: Sun Apr  7 21:00:25 2019
New Revision: 498334
URL: https://svnweb.freebsd.org/changeset/ports/498334

Log:
  sysutils/dvdisaster: Update to 0.79.5
  
  * Pass maintainership to submitter
  * Switch to new MASTER_SITES as the previous one ceased to exist
  * Switch to GCC as upstream officially supports GCC only (it still compiles
    with CLANG if appropriate patching of the GNUMakefile is used. But the
    chances are somewhat higher that it might introduce subtle errors during
    runtime because some valid statements are optimized out by CLANG)
  * Add desktop and icon file
  * Add missing library dependencies
  * Add additional documentation that describes how dvdisaster accesses
    optical drives with FreeBSD
  * Add more information to pkg-message and make it dynamic
  * Include two patches from Debian that fix the missing language fields with
    .po files. [1]
  * Remove debug options that are not really useful for end users
  * Remove redundant configure script arguments
  * Remove redundant do-configure target
  * Sort pkg-plist
  
  While I'm here:
  
  * Fix the license
  * Simplify the makefile targets further by using only option helpers and
    thus remove the need for <bsd.port.{pre,post}.mk>
  
  Changelog since 0.72.6 (summary):
  
  The most prominent feature of this version is that the multithreaded RS03
  codec reached production quality, and all required features have been
  implemented.
  
  A few things will be added with the next releases:
  
  * Adaptive reading is currently disabled as it does not support RS03 yet and
    would crash or misbehave on RS03 error correction data
  * A heuristic for an exhaustive re-discovery of RS03 structures in a badly
    damaged medium is missing in the decoder
  
  But these things should not keep you from using RS03, as the encoder is
  complete and future decoder enhancements do not affect already created RS03
  data.
  
  0.79.4 (07-10-2012 / not released)
  
  * Optical drives would only be detected for /dev/pass[0-9] on FreeBSD. Fixed
    to work with arbitrary /dev/pass numbers.
  * Blocked menu selection when any other action is in progress
  * Made actions properly shut down (e.g. remove incomplete ecc data) when
    closing the window or pushing the "Quit" button.
  * Changed sources for clean compile on gcc 4.4.3
  * Added #include <zlib.h> for libpng 1.5 compatibility
  * Introduced internal Image object for unified access to optical media and
    on disk ISO images; lots of internal changes and fixes due to that
  * Added --ignore-iso-size option
  * Fixed bug in pngpack
  * Added remaining patches for Czech online manual.
  * More comprehensive and unified version information for banner, --version,
    log window and log file to aid in working on bug reports
  * Hardcoded icons to defeat theming
  * Changed glib.h include for compatibility with glib 2.32
  * Removed Darwin / Mac OS X support
  * Synced with dvdisaster 0.72.4 fixes
  * Completed RS01 and RS03 specification in the papers subdir
  
  0.79.3 (21-11-2010)
  
  * Fixed and documented -n command line options for RS02.
  * Reworked configure for current NetBSD release
  
  PR:		236423
  Submitted by:	Bob Eager <bob@eager.cx>
  Approved by:	tcberner (mentor)
  Obtained from:	Debian [1]
  Differential Revision:	https://reviews.freebsd.org/D19807

Added:
  head/sysutils/dvdisaster/files/DEVICES.html.in   (contents, props changed)
  head/sysutils/dvdisaster/files/DEVICES.md.in   (contents, props changed)
  head/sysutils/dvdisaster/files/patch-icon-factory.c   (contents, props changed)
  head/sysutils/dvdisaster/files/patch-locale_pt__BR.po   (contents, props changed)
  head/sysutils/dvdisaster/files/patch-locale_ru.po   (contents, props changed)
  head/sysutils/dvdisaster/files/pkg-message.in   (contents, props changed)
Deleted:
  head/sysutils/dvdisaster/pkg-message
Modified:
  head/sysutils/dvdisaster/Makefile
  head/sysutils/dvdisaster/distinfo
  head/sysutils/dvdisaster/pkg-descr
  head/sysutils/dvdisaster/pkg-plist

Modified: head/sysutils/dvdisaster/Makefile
==============================================================================
--- head/sysutils/dvdisaster/Makefile	Sun Apr  7 20:40:54 2019	(r498333)
+++ head/sysutils/dvdisaster/Makefile	Sun Apr  7 21:00:25 2019	(r498334)
@@ -2,98 +2,67 @@
 # $FreeBSD$
 
 PORTNAME=	dvdisaster
-PORTVERSION=	0.72.6
-PORTREVISION=	1
+PORTVERSION=	0.79.5
 CATEGORIES=	sysutils
-MASTER_SITES=	http://dvdisaster.net/downloads/
+MASTER_SITES=	http://www.ml1.org.uk/distfiles/ \
+		http://www.ancientgeek.org.uk/distfiles/
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	CD/DVD error recovery tool
+MAINTAINER=	bob@eager.cx
+COMMENT=	Optical disc error correction data and recovery tool
 
-LICENSE=	GPLv2
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
 
 BUILD_DEPENDS=	bash:shells/bash
+LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2
 
-MAKEFILE=	GNUmakefile
+USES=		gmake gnome pkgconfig
+USE_GCC=	yes
+USE_GNOME=	gdkpixbuf2 gtk20 cairo
 
-USES=		gmake pkgconfig tar:bzip2
-USE_GNOME=	gtk20 cairo
-GNU_CONFIGURE=	yes
+CFLAGS+=	-Wno-stringop-overflow
+MAKEFILE=	GNUmakefile
+HAS_CONFIGURE=	yes
 CONFIGURE_LOG=	configure.log
-CONFIGURE_ARGS=	--prefix=${PREFIX} \
-		--docsubdir="/" \
-		--png-includes=${LOCALBASE}/include \
-		--png-libraries=${LOCALBASE}/lib \
-		--phpmountdir=${LOCALBASE}/www/${PORTNAME} \
+CONFIGURE_ARGS=	--docsubdir="/" \
 		--localedir=${PREFIX}/share/locale \
 		--buildroot=${STAGEDIR}
 MAKE_JOBS_UNSAFE=	yes
 
 PORTDOCS=	*
+SUB_FILES=	pkg-message DEVICES.md DEVICES.html
 
 OPTIONS_DEFINE=	DOCS NLS
-OPTIONS_GROUP=	DEBUG
-OPTIONS_GROUP_DEBUG=	EFENCE MEMDEBUG
 OPTIONS_SUB=	yes
 
-EFENCE_DESC=	Electric Fence malloc() debugger
-MEMDEBUG_DESC=	Enable memory debugging
-
 DOCS_CONFIGURE_ON=	--docdir=${DOCSDIR}
-
-MEMDEBUG_CONFIGURE_ON=	-with-memdebug=yes
-
-EFENCE_LIB_DEPENDS=	libefence.so.0:devel/ElectricFence
-EFENCE_CONFIGURE_ON=	-with-efence=yes
-
 NLS_USES=	gettext
 NLS_CONFIGURE_OFF=	-with-nls=no
 
-.include <bsd.port.pre.mk>
-
 post-patch:
-	${REINPLACE_CMD} -e '/REQUIRE_GCC/d' \
-			${WRKSRC}/configure ${WRKSRC}/tools/configure
-	${REINPLACE_CMD} -e '/dvdisaster uninstaller/,+12 d' \
+	${REINPLACE_CMD} -e '/dvdisaster uninstaller/,+19 d' \
 			${WRKSRC}/GNUmakefile.template
-	${REINPLACE_CMD} -e 's|(ctx)|(*ctx)|' \
-			${WRKSRC}/md5.c
-	${REINPLACE_CMD} -e 's|stdout, msg|stdout, "msg\\n"|' \
-			${WRKSRC}/tools/memory.c
 
-.if ! ${PORT_OPTIONS:MDOCS}
+post-patch-DOCS-off:
 	${REINPLACE_CMD} -e 's|THESE_ARE_THE_DEVEL_SOURCES;|GNUmakefile;|; \
-		/install -d $$(BUILDROOT)$$(DOCSUBDIR)/,+18 d' \
+		/install -d $$(BUILDROOT)$$(DOCSUBDIR)/,+7 d' \
 			${WRKSRC}/GNUmakefile.template
-.elif ${ARCH} == i386
-	${REINPLACE_CMD} -e 's|THESE_ARE_THE_DEVEL_SOURCES;|GNUmakefile;|; \
-		/install -m 644 README.MODIFYING/{N;p;s/.*/	install -m 644 TODO $$(BUILDROOT)$$(DOCSUBDIR)/;}; \
-		/install -m 644 TODO $$(BUILDROOT)$$(DOCSUBDIR)/,+13 d' \
-			${WRKSRC}/GNUmakefile.template
-.endif
 
 post-patch-NLS-off:
-	${REINPLACE_CMD} -e 's|DOC_LOCALES = cs de en ru|DOC_LOCALES = en|; \
+	${REINPLACE_CMD} -Ee 's|(PO_LOCALES)|#\1|; \
 		s|install -m 644 CREDITS\*|install -m 644 CREDITS\.en|' \
 			${WRKSRC}/GNUmakefile.template
 
-do-configure:
-	@(cd ${CONFIGURE_WRKSRC} && \
-	if ! ${SETENV} CC="${CC}" CXX="${CXX}" \
-		CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
-		INSTALL="${INSTALL} -c " \
-		INSTALL_DATA="${INSTALL_DATA}" \
-		INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
-		INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
-	${CONFIGURE_ENV} bash configure ${CONFIGURE_ARGS}; then \
-		${ECHO_CMD} "===>  Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \
-		(${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \
-		${FALSE}; \
-	fi)
-
 post-install:
-.if ! ${PORT_OPTIONS:MEFENCE} || ! ${PORT_OPTIONS:MMEMDEBUG}
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
+	${INSTALL_DATA} ${WRKSRC}/contrib/dvdisaster48.png ${STAGEDIR}${PREFIX}/share/pixmaps/
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/applications
+	${INSTALL_DATA} ${WRKSRC}/contrib/dvdisaster.desktop ${STAGEDIR}${PREFIX}/share/applications/
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
-.endif
 
-.include <bsd.port.post.mk>
+post-install-DOCS-on:
+	${INSTALL_MAN} ${WRKDIR}/DEVICES.md ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${WRKDIR}/DEVICES.html ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>

Modified: head/sysutils/dvdisaster/distinfo
==============================================================================
--- head/sysutils/dvdisaster/distinfo	Sun Apr  7 20:40:54 2019	(r498333)
+++ head/sysutils/dvdisaster/distinfo	Sun Apr  7 21:00:25 2019	(r498334)
@@ -1,2 +1,3 @@
-SHA256 (dvdisaster-0.72.6.tar.bz2) = e9787dea39aeafa38b26604752561bc895083c17b588489d857ac05c58be196b
-SIZE (dvdisaster-0.72.6.tar.bz2) = 5048399
+TIMESTAMP = 1551738342
+SHA256 (dvdisaster-0.79.5.tar.gz) = d6efa1643945fe7b16382f4164a68bdad14de48c8506d844d740cd3a2b143e55
+SIZE (dvdisaster-0.79.5.tar.gz) = 9722312

Added: head/sysutils/dvdisaster/files/DEVICES.html.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/DEVICES.html.in	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,80 @@
+<h1>Useful hints for dvdisaster</h1>
+
+<h2>Device access</h2>
+
+<p>dvdisaster tries to read <code>/dev/pass*</code> to list available optical drives,
+so it will not detect any available drives if the user running
+dvdisaster does not have permissions to read <code>/dev/pass*</code>.</p>
+
+<p>The solution is to create the file <code>/etc/devfs.rules</code>, containing
+something like the following.</p>
+
+<pre><code>    [localrules=10]
+    add path 'pass*' mode 0775 group mygroup
+</code></pre>
+
+<p>You also need to add this line to <code>/etc/rc.conf</code>:</p>
+
+<pre><code>    devfs_system_ruleset="localrules"
+</code></pre>
+
+<p>You can use anything you like for <code>localrules</code>, and the number does not have to be <code>10</code>.
+See <code>devfs.rules(5)</code> for more details.</p>
+
+<p>If <code>/etc/devfs.rules</code> already exists, add the line starting <code>add</code> to the section for the ruleset
+mentioned in <code>/etc/rc.conf</code>.</p>
+
+<p>For this to take effect, either reboot, or issue the command:</p>
+
+<pre><code>    # service devfs restart
+</code></pre>
+
+<p>as root.</p>
+
+<h2>Missing optical drives</h2>
+
+<p>The most common problem encountered is that dvdisaster does not detect
+optical drives on older versions of FreeBSD.</p>
+
+<p>FreeBSD 9.x does not pre-install a uniform CD-ROM driver for SCSI and
+ATAPI drives, thus it cannot use any ATAPI drives in an out-of-the-box
+FreeBSD 9.x installation. Normally, this can be fixed by loading a
+kernel module called <code>atapicam</code>.</p>
+
+<h3>Loading the <code>atapicam</code> kernel module by hand</h3>
+
+<p>To manually load the required kernel module, issue the command:</p>
+
+<pre><code>    # kldload atapicam
+</code></pre>
+
+<p>To see if any optical drives are  available:</p>
+
+<pre><code>    # camcontrol devlist
+    &lt;NAME OF YOUR DRIVE&gt;           at scbus1 target 0 lun 0 (pass0,cd0)
+</code></pre>
+
+<h3>Loading the <code>atapicam</code> kernel module permanently</h3>
+
+<p>If the above step works, the module can be loaded automatically at boot time by adding
+the line:</p>
+
+<pre><code>    atapicam_load="YES"
+</code></pre>
+
+<p>to the file <code>/boot/loader.conf</code>.</p>
+
+<h3>Building the <code>atapicam</code> module</h3>
+
+<p>If the atapicam kernel module is not available (check the contents
+of /boot/kernel) you will need to recompile the kernel with the following
+additional device line in the kernel configuration:</p>
+
+<pre><code>    device atapicam
+</code></pre>
+
+<p>This will actually build the module into the kernel. To build it separately,
+see <code>make.conf(5)</code>.</p>
+
+<p>The devices <code>ata</code>, <code>scbus</code>, <code>cd</code>, and <code>pass</code> are also required, but are included by
+default in FreeBSD 6.0 and later.</p>

Added: head/sysutils/dvdisaster/files/DEVICES.md.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/DEVICES.md.in	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,76 @@
+Useful hints for dvdisaster
+===========================
+
+Device access
+-------------
+dvdisaster tries to read `/dev/pass*` to list available optical drives,
+so it will not detect any available drives if the user running
+dvdisaster does not have permissions to read `/dev/pass*`.
+
+The solution is to create the file `/etc/devfs.rules`, containing
+something like the following.
+
+	[localrules=10]
+	add path 'pass*' mode 0775 group mygroup
+
+You also need to add this line to `/etc/rc.conf`:
+
+	devfs_system_ruleset="localrules"
+
+You can use anything you like for `localrules`, and the number does not have to be `10`.
+See `devfs.rules(5)` for more details.
+
+If `/etc/devfs.rules` already exists, add the line starting `add` to the section for the ruleset
+mentioned in `/etc/rc.conf`.
+
+For this to take effect, either reboot, or issue the command:
+
+	# service devfs restart
+
+as root.
+
+Missing optical drives
+----------------------
+
+The most common problem encountered is that dvdisaster does not detect 
+optical drives on older versions of FreeBSD.
+
+FreeBSD 9.x does not pre-install a uniform CD-ROM driver for SCSI and
+ATAPI drives, thus it cannot use any ATAPI drives in an out-of-the-box
+FreeBSD 9.x installation. Normally, this can be fixed by loading a
+kernel module called `atapicam`.
+
+### Loading the `atapicam` kernel module by hand
+
+To manually load the required kernel module, issue the command:
+
+	# kldload atapicam
+
+To see if any optical drives are  available:
+
+	# camcontrol devlist
+	<NAME OF YOUR DRIVE>           at scbus1 target 0 lun 0 (pass0,cd0)
+
+### Loading the `atapicam` kernel module permanently
+
+If the above step works, the module can be loaded automatically at boot time by adding
+the line:
+
+	atapicam_load="YES"
+
+to the file `/boot/loader.conf`.
+
+### Building the `atapicam` module
+
+If the atapicam kernel module is not available (check the contents
+of /boot/kernel) you will need to recompile the kernel with the following
+additional device line in the kernel configuration:
+
+	device atapicam
+
+This will actually build the module into the kernel. To build it separately,
+see `make.conf(5)`.
+
+The devices `ata`, `scbus`, `cd`, and `pass` are also required, but are included by
+default in FreeBSD 6.0 and later.
+

Added: head/sysutils/dvdisaster/files/patch-icon-factory.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/patch-icon-factory.c	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,11 @@
+--- icon-factory.c.orig	2019-03-06 11:28:20 UTC
++++ icon-factory.c
+@@ -20,6 +20,8 @@
+  *  along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
+  */
+ 
++#define GDK_PIXBUF_VERSION_MIN_REQUIRED GDK_PIXBUF_VERSION_2_30
++
+ #include "dvdisaster.h"
+ 
+ #include "inlined-icons.h"

Added: head/sysutils/dvdisaster/files/patch-locale_pt__BR.po
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/patch-locale_pt__BR.po	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,12 @@
+Taken from Debian "13-fix-missing-language-field-in-po-files.patch"
+--- locale/pt_BR.po.orig	2019-03-06 10:42:22 UTC
++++ locale/pt_BR.po
+@@ -11,7 +11,7 @@ msgstr ""
+ "PO-Revision-Date: 2010-06-09 11:13+0200\n"
+ "Last-Translator: cg <cg@dvdisaster.org>\n"
+ "Language-Team: Portuguese\n"
+-"Language: \n"
++"Language: Portuguese\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"

Added: head/sysutils/dvdisaster/files/patch-locale_ru.po
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/patch-locale_ru.po	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,12 @@
+Taken from Debian "13-fix-missing-language-field-in-po-files.patch"
+--- locale/ru.po.orig	2019-03-06 10:41:55 UTC
++++ locale/ru.po
+@@ -13,7 +13,7 @@ msgstr ""
+ "PO-Revision-Date: 2009-07-23 08:11+0300\n"
+ "Last-Translator: Igor Gorbounov <igor.gorbounov@gmail.com>\n"
+ "Language-Team: Russian\n"
+-"Language: \n"
++"Language: Russian\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"

Added: head/sysutils/dvdisaster/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/dvdisaster/files/pkg-message.in	Sun Apr  7 21:00:25 2019	(r498334)
@@ -0,0 +1,8 @@
+----------------------------------------------------------------------
+If there are problems detecting optical drives, please see the files
+DEVICES.md or DEVICES.html in the directory:
+	 %%DOCSDIR%%
+
+Note that the documentation option (DOCS) must be selected for these
+files to be installed.
+----------------------------------------------------------------------

Modified: head/sysutils/dvdisaster/pkg-descr
==============================================================================
--- head/sysutils/dvdisaster/pkg-descr	Sun Apr  7 20:40:54 2019	(r498333)
+++ head/sysutils/dvdisaster/pkg-descr	Sun Apr  7 21:00:25 2019	(r498334)
@@ -1,4 +1,3 @@
-The dvdisaster project:
 dvdisaster provides a margin of safety against data loss on CD and DVD media
 caused by aging or scratches.
 
@@ -17,4 +16,4 @@ If you create the error correction data in time and ke
 you have a good chance of recovering the medium contents from typical read
 errors and to transfer your complete data onto a new medium.
 
-WWW: http://dvdisaster.net/
+WWW: http://www.bobeager.uk/software.html

Modified: head/sysutils/dvdisaster/pkg-plist
==============================================================================
--- head/sysutils/dvdisaster/pkg-plist	Sun Apr  7 20:40:54 2019	(r498333)
+++ head/sysutils/dvdisaster/pkg-plist	Sun Apr  7 21:00:25 2019	(r498334)
@@ -1,11 +1,11 @@
 bin/dvdisaster
-man/cs/man1/dvdisaster.1.gz
 man/de/man1/dvdisaster.1.gz
-man/it/man1/dvdisaster.1.gz
 man/man1/dvdisaster.1.gz
+share/applications/dvdisaster.desktop
+share/pixmaps/dvdisaster48.png
 %%NLS%%share/locale/cs/LC_MESSAGES/dvdisaster.mo
 %%NLS%%share/locale/de/LC_MESSAGES/dvdisaster.mo
 %%NLS%%share/locale/it/LC_MESSAGES/dvdisaster.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/dvdisaster.mo
 %%NLS%%share/locale/ru/LC_MESSAGES/dvdisaster.mo
 %%NLS%%share/locale/sv/LC_MESSAGES/dvdisaster.mo
-%%NLS%%share/locale/pt_BR/LC_MESSAGES/dvdisaster.mo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904072100.x37L0QYb077982>