- Update to 7.1

Approved by:	Chuck Swiger <chuck@pkix.net> (maintainer)
This commit is contained in:
Pav Lucistnik 2008-04-09 21:15:04 +00:00
parent 611563bbc9
commit 08fe6e812a
4 changed files with 4 additions and 118 deletions

View file

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

View file

@ -1,3 +1,3 @@
MD5 (dvd+rw-tools-7.0.tar.gz) = 2eb9c2a6b1e6bc7c4d72d3b5ece34ceb
SHA256 (dvd+rw-tools-7.0.tar.gz) = c9ffc46ac4e97153f1752f0232a135ebae5688a8e35e975d23e958b785951422
SIZE (dvd+rw-tools-7.0.tar.gz) = 131259
MD5 (dvd+rw-tools-7.1.tar.gz) = 8acb3c885c87f6838704a0025e435871
SHA256 (dvd+rw-tools-7.1.tar.gz) = f8d60f822e914128bcbc5f64fbe3ed131cbff9045dca7e12c5b77b26edde72ca
SIZE (dvd+rw-tools-7.1.tar.gz) = 140846

View file

@ -1,102 +0,0 @@
--- growisofs.c.orig Sun Sep 24 17:28:53 2006
+++ growisofs.c Fri Feb 2 12:08:20 2007
@@ -370,12 +370,17 @@
* upon Layer Break command, therefore longer timeout is required;
* - Linux: deploy BLKFLSBUF to avoid media reloads when possible;
* - add unit buffer utilization indicator [by request from K3b];
+ * 7.0.1: (by Nicolas Boichat, Bacula project)
+ * - Allow session to cross 4GB boundary regardless of medium type
+ * (dont need to have a DL media)
+ * - Add a -F option (used instead of -M or -Z), which displays next_session
+ * offset and capacity (free space = next_session - capacity).
*/
#define PRINT_VERSION(cmd) do { \
char *s=strrchr((cmd),'/'); \
s ? s++ : (s=(cmd)); \
printf ("* %.*sgrowisofs by <appro@fy.chalmers.se>,"\
- " version 7.0,\n",(int)(s-(cmd)),(cmd)); \
+ " version 7.0.1,\n",(int)(s-(cmd)),(cmd)); \
} while (0)
#define _LARGEFILE_SOURCE
@@ -2773,6 +2778,18 @@
else in_device = argv[++i];
dev_found = 'Z';
}
+ else if (argv[i][1] == 'F')
+ { if (len > 2) in_device = argv[i]+2;
+ else in_device = argv[++i];
+ dev_found = 'F';
+ dry_run = 1; /* NEVER write anything with -F */
+ }
+ else if (!strncmp(opt,"-free-space",11))
+ { if (len > 11) in_device = opt+11;
+ else in_device = argv[++i];
+ dev_found = 'F';
+ dry_run = 1; /* NEVER write anything with -F */
+ }
else if (!strcmp(opt,"-poor-man"))
{ if (poor_man<0) poor_man = 1;
continue;
@@ -2908,6 +2925,9 @@
fflush (stdout);
#if defined(__unix) || defined(__unix__)
setuid(getuid());
+# ifdef __FreeBSD__
+ munlockall();
+#endif
execlp (mkisofs_argv[0],mkisofs_argv[0],"-version",NULL);
#elif defined(_WIN32)
if (_spawnl (_P_WAIT,mkisofs_argv[0],
@@ -2989,11 +3009,14 @@
if (n==0) set_errno(EIO); /* end-of-file reached? */
}
if (n!=2048 && dev_found=='M')
+ {
perror (":-( unable to pread64(2) primary volume descriptor"),
fprintf (stderr," you most likely want to use -Z option.\n"),
exit (FATAL_START(errno));
-
- if (dev_found == 'M')
+ }
+ if ((dev_found == 'M') ||
+ ((dev_found == 'F') && !(mmc_profile&0x10000)) && (saved_descriptors[0].type[0] || saved_descriptors[0].type[1] || saved_descriptors[0].type[2]))
+ /* -F : The medium is not blank, there is a fs on it (the_buffer[0,1 or 2] != 0), so compute next_session. */
{ if (memcmp (saved_descriptors[0].type,"\1CD001",6))
fprintf (stderr,":-( %s doesn't look like isofs...\n",
in_device), exit(FATAL_START(EMEDIUMTYPE));
@@ -3016,8 +3039,7 @@
exit(FATAL_START(EINVAL));
}
else if (next_session > (0x200000-0x5000)) /* 4GB/2K-40MB/2K */
- if ((mmc_profile&0xFFFF)<0x20 ||
- ((mmc_profile&0xFFFF)<0x40 && !no_4gb_check))
+ if (!no_4gb_check)
fprintf (stderr,":-( next session would cross 4GB "
"boundary, aborting...\n"),
exit (FATAL_START(ENOSPC));
@@ -3060,7 +3082,7 @@
exit (FATAL_START(EINVAL));
if (imgfd<0)
- { if (mkisofs_argc==1)
+ { if ((mkisofs_argc==1) && (dev_found != 'F'))
fprintf (stderr,"%s: no mkisofs options specified, "
"aborting...\n",argv[0]),
exit (FATAL_START(EINVAL));
@@ -3243,6 +3265,15 @@
break;
}
}
+
+ if (dev_found == 'F') {
+ off64_t capacity = 0;
+ printf("next_session=%lld\n", next_session*CD_BLOCK);
+ if (ioctl_handle!=INVALID_HANDLE)
+ capacity = get_capacity (ioctl_handle);
+ printf("capacity=%lld\n", capacity);
+ exit(0);
+ }
if (imgfd>=0)
{ quiet--;

View file

@ -1,12 +0,0 @@
--- mp.h.orig Wed May 10 16:01:28 2006
+++ mp.h Wed May 10 16:06:04 2006
@@ -40,7 +40,9 @@
if (pthread_attr_init(&attr)==0 &&
pthread_attr_setstacksize(&attr,64*1024)==0 &&
+#if !defined(__FreeBSD__) || __FreeBSD_version >= 500000
pthread_attr_setscope(&attr,PTHREAD_SCOPE_SYSTEM)==0 &&
+#endif /* FreeBSD 4 does not support PTHREAD_SCOPE_SYSTEM */
pthread_create(&h,&attr,(void *(*)(void *))func,arg)==0 )
return (void *)h;