MFH: r476826 sysutils/dvd+rw-tools: Fix issue appending more than 25gb on BD-R DL discs

While burning ISO Multisession BD-R 50G growisofs reports no space left while
24G+ are available.

Backport a fix from Debian [1] to address the issue.

While I'm here, document description and origins of both patches [1][2] that
apply to same source file, for our future selves, and to avoid confusion
as both chunks reference the same variable.

[1] https://bugs.debian.org/615978
[2] https://bugs.debian.org/713016

PR:		230493
Submitted by:	Masachika ISHIZUKA <ish amail plala or jp>
Approved by:	portmgr (implicit, unmaintained port)
Obtained from:	Debian [1]

Approved by:	miwi (ports-secteam)
This commit is contained in:
Kubilay Kocak 2018-08-21 07:18:28 +00:00
parent 3fc373df77
commit 2c8b4e2376
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q3/; revision=477708
5 changed files with 23 additions and 8 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= dvd+rw-tools
PORTVERSION= 7.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= sysutils
MASTER_SITES= http://www.pkix.net/mirror/fy.chalmers.se/ \
http://fy.chalmers.se/~appro/linux/DVD+RW/tools/

View File

@ -1,6 +1,6 @@
--- Makefile.m4.orig 2008-03-02 17:17:09 UTC
+++ Makefile.m4
@@ -13,6 +13,7 @@ ifelse(substr(OS,0,7),[CYGWIN_],[define(
@@ -13,6 +13,7 @@ ifelse(substr(OS,0,7),[CYGWIN_],[define([OS],[MINGW32]
ifelse(substr(OS,0,7),[MINGW32],[define([OS],[MINGW32])])
ifelse(OS,NetBSD,[define([OS],[BSD])CXXFLAGS+=-D__unix])
ifelse(OS,OpenBSD,[define([OS],[BSD])])

View File

@ -1,11 +1,26 @@
# Cannot append data to BD-R DL used more than 25gb
# https://bugs.freebsd.org/230493 via http://bugs.debian.org/615978
#
# growisofs error: close session failed when burning 25gb blu-ray disc
# https://bugs.freebsd.org/198991 via http://bugs.debian.org/713016
--- growisofs_mmc.cpp.orig 2008-03-04 17:47:49 UTC
+++ growisofs_mmc.cpp
@@ -756,6 +756,8 @@ static void bd_r_format (Scsi_Command &c
@@ -410,7 +410,7 @@ static unsigned int get_2k_capacity (Scsi_Command &cmd
}
nwa = 0;
- if (buf[7]&1 && !bdr_plus_pow) // NWA_V
+ if (buf[7]&1) // NWA_V
{ nwa = buf[12]<<24;
nwa |= buf[13]<<16;
nwa |= buf[14]<<8;
@@ -755,6 +755,8 @@ static void bd_r_format (Scsi_Command &cmd)
exit (FATAL_START(errno));
wait_for_unit (cmd);
+ bdr_plus_pow = 1;
+
+ bdr_plus_pow = 1;
cmd[0] = 0x35; // FLUSH CACHE
cmd[9] = 0;
cmd.transport();

View File

@ -1,6 +1,6 @@
--- mp.h.orig 2008-02-24 17:56:07 UTC
+++ mp.h
@@ -46,7 +46,9 @@ static void *__thread_create(int (*func)
@@ -46,7 +46,9 @@ static void *__thread_create(int (*func)(void *),void
if (pthread_attr_init(&attr)==0 &&
pthread_attr_setstacksize(&attr,stack_sz)==0 &&

View File

@ -1,6 +1,6 @@
--- transport.hxx.orig 2008-03-01 10:34:43 UTC
+++ transport.hxx
@@ -483,7 +483,7 @@ public:
@@ -483,7 +483,7 @@ class Scsi_Command { (public)
{ return 1; }
};