Compare commits

..

3 commits

Author SHA1 Message Date
Fedora Release Engineering
825b2f81e0 dist-git conversion 2010-07-29 14:39:04 +00:00
Bill Nottingham
1acbcc4a51 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:13:38 +00:00
Jeremy Katz
aaa3fed4b1 Initialize branch FC-6 for udftools 2006-10-23 19:21:27 +00:00
8 changed files with 554 additions and 555 deletions

5
.gitignore vendored
View file

@ -1,6 +1 @@
udftools-1.0.0b3.tar.gz
/udftools-1.2.tar.gz
/udftools-1.3.tar.gz
/udftools-2.1.tar.gz
/udftools-2.2.tar.gz
/udftools-2.3.tar.gz

View file

@ -1 +1 @@
SHA512 (udftools-2.3.tar.gz) = 17304264388ae53e348d6aa870f0d23c29477344fee848236b46886c086221941872073974f804c0735eafd0cf9f7acdac7988132f03c0a87dba37467b5bda95
2f491ddd63f31040797236fe18db9e60 udftools-1.0.0b3.tar.gz

View file

@ -0,0 +1,36 @@
Date: Sun, 12 Dec 2004 14:25:09 +0100
From: Christoph Hellwig <hch@lst.de>
To: submit@bugs.debian.org
Package: udftools
Version: 1.0.0b3-6
mkduffs crashes with a segmentation fault when trying to create a
filesystem on big-endian systems. e.g. mkudffs /dev/sda4 on my
PowerMac.
udffstools from CVS on sf.net is fine, and I've extracted the actual
fix:
diff -uNr -Xdontdiff -p udftools-1.0.0b3/mkudffs/mkudffs.c udftools/mkudffs/mkudffs.c
--- udftools-1.0.0b3/mkudffs/mkudffs.c 2004-02-23 04:35:33.000000000 +0100
+++ udftools/mkudffs/mkudffs.c 2004-03-02 03:09:39.000000000 +0100
@@ -250,14 +250,14 @@ void split_space(struct udf_disc *disc)
if (size % offsets[PSPACE_SIZE])
size -= (size % offsets[PSPACE_SIZE]);
set_extent(disc, PSPACE, start, size);
- for (i=0; i<disc->udf_lvd[0]->numPartitionMaps; i++)
+ for (i=0; i<le32_to_cpu(disc->udf_lvd[0]->numPartitionMaps); i++)
{
if (i == 1)
disc->udf_lvid->freeSpaceTable[i] = cpu_to_le32(0xFFFFFFFF);
else
disc->udf_lvid->freeSpaceTable[i] = cpu_to_le32(size);
}
- for (j=0; j<disc->udf_lvd[0]->numPartitionMaps; j++)
+ for (j=0; j<le32_to_cpu(disc->udf_lvd[0]->numPartitionMaps); j++)
{
if (j == 1)
disc->udf_lvid->sizeTable[i+j] = cpu_to_le32(0xFFFFFFFF);

View file

@ -0,0 +1,346 @@
From: Peter Osterlund <petero2@telia.com>
Subject: Re: [RFC][PATCH] Control pktcdvd with an auxiliary character device
To: linux-kernel@vger.kernel.org
Cc: Christoph Hellwig <hch@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
Jens Axboe <axboe@suse.de>, Andrew Morton <akpm@osdl.org>
Date: Wed Jul 14 02:17:27 2004 +0200
Peter Osterlund <petero2@telia.com> writes:
> Peter Osterlund <petero2@telia.com> writes:
>
> > Christoph Hellwig <hch@infradead.org> writes:
> >
> > > On Sun, Jul 11, 2004 at 01:20:45AM +0200, Arnd Bergmann wrote:
> > > > These are actually incorrect definitions since the ioctl argument is
> > > > not a pointer to unsigned int but instead just an int. However, that's
> > > > too late to fix without breaking the existing tools.
> > >
> > > The tools need to change anyway to get away from the broken behaviour to
> > > issue in ioctl on the actual block device to bind it..
> >
> > OK, I'll create a patch that gets rid of the ioctl interface and uses
> > an auxiliary character device instead to control device bindings.
>
> Here is a patch for 2.6.7-mm7 that does that. The driver creates a
> misc character device and bind/unbind of the block devices are
> controlled by ioctl commands on the char device.
>
> This patch needs corresponding changes in the pktsetup user space
> program. I'll post a patch for pktsetup as a separate message.
And here is a patch for udftools-1.0.0b3 that updates the pktsetup
program to make it able to use the character device for block device
setup/teardown.
---
udftools-1.0.0b3-petero/pktsetup/pktsetup.c | 245 +++++++++++++++++++++++++++-
1 files changed, 238 insertions(+), 7 deletions(-)
diff -puN pktsetup/pktsetup.c~pktsetup-char-dev pktsetup/pktsetup.c
--- udftools-1.0.0b3/pktsetup/pktsetup.c~pktsetup-char-dev 2004-07-12 19:57:51.000000000 +0200
+++ udftools-1.0.0b3-petero/pktsetup/pktsetup.c 2004-07-14 00:34:02.471317888 +0200
@@ -1,5 +1,6 @@
/*
* Copyright (c) 1999,2000 Jens Axboe <axboe@suse.de>
+ * Copyright (c) 2004 Peter Osterlund <petero2@telia.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,6 +20,7 @@
#include <stdio.h>
#include <fcntl.h>
#include <sys/ioctl.h>
+#include <sys/stat.h>
#include <unistd.h>
#include <getopt.h>
#include <bits/types.h>
@@ -33,8 +35,33 @@
#define PACKET_SETUP_DEV _IOW('X', 1, unsigned int)
#define PACKET_TEARDOWN_DEV _IOW('X', 2, unsigned int)
#endif
+#ifndef PACKET_CTRL_CMD
+#define PACKET_CTRL_CMD _IOWR('X', 1, struct pkt_ctrl_command)
+#endif
+
+#define MAJOR(dev) ((dev & 0xfff00) >> 8)
+#define MINOR(dev) ((dev & 0xff) | ((dev >> 12) & 0xfff00))
+#define MKDEV(ma,mi) ((mi & 0xff) | (ma << 8) | ((mi & ~0xff) << 12))
+
+#define MISC_MAJOR 10
+#define CTL_DIR "/dev/pktcdvd"
+#define CTL_DEV "control"
+
+#define PKT_CTRL_CMD_SETUP 0
+#define PKT_CTRL_CMD_TEARDOWN 1
+#define PKT_CTRL_CMD_STATUS 2
+
+struct pkt_ctrl_command {
+ __u32 command; /* in: Setup, teardown, status */
+ __u32 dev_index; /* in/out: Device index */
+ __u32 dev; /* in/out: Device nr for cdrw device */
+ __u32 pkt_dev; /* out: Device nr for packet device */
+ __u32 num_devices; /* out: Largest device index + 1 */
+ __u32 padding;
+};
+
-int init_cdrom(int fd)
+static int init_cdrom(int fd)
{
if (ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT) < 0) {
perror("drive not ready\n");
@@ -54,7 +81,7 @@ int init_cdrom(int fd)
return 0;
}
-void setup_dev(char *pkt_device, char *device, int rem)
+static void setup_dev(char *pkt_device, char *device, int rem)
{
int pkt_fd, dev_fd, cmd;
@@ -88,29 +115,233 @@ void setup_dev(char *pkt_device, char *d
close(pkt_fd);
}
-int usage(void)
+static int usage(void)
{
- printf("pktsetup /dev/pktcdvd0 /dev/cdrom\tsetup device\n");
- printf("pktsetup -d /dev/pktcdvd0\t\ttear down device\n");
+ printf("For pktcdvd < 0.2.0:\n");
+ printf(" pktsetup /dev/pktcdvd0 /dev/cdrom setup device\n");
+ printf(" pktsetup -d /dev/pktcdvd0 tear down device\n");
+ printf("For pktcdvd >= 0.2.0:\n");
+ printf(" pktsetup dev_name /dev/cdrom setup device\n");
+ printf(" pktsetup -d dev_name tear down device\n");
+ printf(" pktsetup -d major:minor tear down device\n");
+ printf(" pktsetup -s show device mappings\n");
return 1;
}
+/*
+ * Find the minor device number for the pktcdvd control device.
+ */
+static int get_misc_minor(void)
+{
+ int minor;
+ char name[64];
+ FILE *f;
+
+ if ((f = fopen("/proc/misc", "r")) == NULL)
+ return -1;
+ while (fscanf(f, " %d %64s", &minor, name) == 2) {
+ if (strcmp(name, "pktcdvd") == 0) {
+ fclose(f);
+ return minor;
+ }
+ }
+ fclose(f);
+ return -1;
+}
+
+static const char *pkt_dev_name(const char *dev)
+{
+ static char buf[128];
+ snprintf(buf, sizeof(buf), "%s/%s", CTL_DIR, dev);
+ return buf;
+}
+
+static void create_ctl_dev(void)
+{
+ int misc_minor;
+ struct stat stat_buf;
+ int dev;
+
+ if ((misc_minor = get_misc_minor()) < 0) {
+ system("/sbin/modprobe pktcdvd");
+ misc_minor = get_misc_minor();
+ }
+ if (misc_minor < 0) {
+ fprintf(stderr, "Can't find pktcdvd character device\n");
+ return;
+ }
+ dev = MKDEV(MISC_MAJOR, misc_minor);
+
+ if ((stat(pkt_dev_name(CTL_DEV), &stat_buf) >= 0) &&
+ S_ISCHR(stat_buf.st_mode) && (stat_buf.st_rdev == dev))
+ return; /* Already set up */
+
+ mkdir(CTL_DIR, 0755);
+ unlink(pkt_dev_name(CTL_DEV));
+ mknod(pkt_dev_name(CTL_DEV), S_IFCHR | 0644, dev);
+}
+
+static int remove_stale_dev_node(int ctl_fd, char *devname)
+{
+ struct stat stat_buf;
+ int i, dev;
+ struct pkt_ctrl_command c;
+
+ if (stat(pkt_dev_name(devname), &stat_buf) < 0)
+ return 0;
+ if (!S_ISBLK(stat_buf.st_mode))
+ return 1;
+ dev = stat_buf.st_rdev;
+ memset(&c, 0, sizeof(struct pkt_ctrl_command));
+ for (i = 0; ; i++) {
+ c.command = PKT_CTRL_CMD_STATUS;
+ c.dev_index = i;
+ if (ioctl(ctl_fd, PACKET_CTRL_CMD, &c) < 0) {
+ perror("ioctl");
+ return 1;
+ }
+ if (i >= c.num_devices)
+ break;
+ if (c.pkt_dev == dev)
+ return 1; /* busy */
+ }
+ unlink(pkt_dev_name(devname));
+ return 0;
+}
+
+static void setup_dev_chardev(char *pkt_device, char *device, int rem)
+{
+ struct pkt_ctrl_command c;
+ struct stat stat_buf;
+ int ctl_fd, dev_fd;
+
+ memset(&c, 0, sizeof(struct pkt_ctrl_command));
+
+ create_ctl_dev();
+ if ((ctl_fd = open(pkt_dev_name(CTL_DEV), O_RDONLY)) < 0) {
+ perror("ctl open");
+ return;
+ }
+
+ if (!rem) {
+ if ((dev_fd = open(device, O_RDONLY | O_NONBLOCK)) == -1) {
+ perror("open cd-rom");
+ goto out_close;
+ }
+ if (init_cdrom(dev_fd)) {
+ close(dev_fd);
+ goto out_close;
+ }
+ close(dev_fd);
+
+ if (stat(device, &stat_buf) < 0) {
+ perror("stat cd-rom");
+ goto out_close;
+ }
+ if (!S_ISBLK(stat_buf.st_mode)) {
+ fprintf(stderr, "Not a block device\n");
+ goto out_close;
+ }
+ c.command = PKT_CTRL_CMD_SETUP;
+ c.dev = stat_buf.st_rdev;
+
+ if (remove_stale_dev_node(ctl_fd, pkt_device) != 0) {
+ fprintf(stderr, "Device node '%s' already in use\n", pkt_device);
+ goto out_close;
+ }
+ if (ioctl(ctl_fd, PACKET_CTRL_CMD, &c) < 0) {
+ perror("ioctl");
+ goto out_close;
+ }
+ mknod(pkt_dev_name(pkt_device), S_IFBLK | 0640, c.pkt_dev);
+ } else {
+ int major, minor, remove_node;
+
+ if ((stat(pkt_dev_name(pkt_device), &stat_buf) >= 0) &&
+ S_ISBLK(stat_buf.st_mode)) {
+ major = MAJOR(stat_buf.st_rdev);
+ minor = MINOR(stat_buf.st_rdev);
+ remove_node = 1;
+ } else if (sscanf(pkt_device, "%d:%d", &major, &minor) == 2) {
+ remove_node = 0;
+ } else {
+ fprintf(stderr, "Can't find major/minor numbers\n");
+ goto out_close;
+ }
+
+ c.command = PKT_CTRL_CMD_TEARDOWN;
+ c.pkt_dev = MKDEV(major, minor);
+ if (ioctl(ctl_fd, PACKET_CTRL_CMD, &c) < 0) {
+ perror("ioctl");
+ goto out_close;
+ }
+ if (remove_node)
+ unlink(pkt_dev_name(pkt_device));
+ }
+
+out_close:
+ close(ctl_fd);
+}
+
+static void show_mappings(void)
+{
+ struct pkt_ctrl_command c;
+ int ctl_fd, i;
+
+ memset(&c, 0, sizeof(struct pkt_ctrl_command));
+
+ create_ctl_dev();
+ if ((ctl_fd = open(pkt_dev_name(CTL_DEV), O_RDONLY)) < 0) {
+ perror("ctl open");
+ return;
+ }
+
+ for (i = 0; ; i++) {
+ c.command = PKT_CTRL_CMD_STATUS;
+ c.dev_index = i;
+ if (ioctl(ctl_fd, PACKET_CTRL_CMD, &c) < 0) {
+ perror("ioctl");
+ goto out_close;
+ }
+ if (i >= c.num_devices)
+ break;
+ if (c.dev) {
+ printf("%2d : %d:%d -> %d:%d\n",
+ i, MAJOR(c.pkt_dev), MINOR(c.pkt_dev),
+ MAJOR(c.dev), MINOR(c.dev));
+ }
+ }
+
+out_close:
+ close(ctl_fd);
+}
+
int main(int argc, char **argv)
{
int rem = 0, c;
+ char *pkt_device;
+ char *device;
if (argc == 1)
return usage();
- while ((c = getopt(argc, argv, "d")) != EOF) {
+ while ((c = getopt(argc, argv, "ds?")) != EOF) {
switch (c) {
case 'd':
rem = 1;
break;
+ case 's':
+ show_mappings();
+ return 0;
default:
return usage();
}
}
- setup_dev(argv[optind], argv[optind + 1], rem);
+ pkt_device = argv[optind];
+ device = argv[optind + 1];
+ if (strchr(pkt_device, '/'))
+ setup_dev(pkt_device, device, rem);
+ else
+ setup_dev_chardev(pkt_device, device, rem);
return 0;
}
_
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340

View file

@ -0,0 +1,90 @@
diff -Naupr udftools-1.0.0b3.orig/cdrwtool/cdrwtool.h udftools-1.0.0b3/cdrwtool/cdrwtool.h
--- udftools-1.0.0b3.orig/cdrwtool/cdrwtool.h 2002-11-26 08:18:50.000000000 +0100
+++ udftools-1.0.0b3/cdrwtool/cdrwtool.h 2006-07-27 14:16:06.000000000 +0200
@@ -226,6 +226,7 @@ int read_disc_info(int, disc_info_t *);
int read_track_info(int, track_info_t *, int);
int reserve_track(int, struct cdrw_disc *);
int close_track(int, unsigned int);
+int close_session(int, unsigned int);
int read_buffer_cap(int, struct cdrw_disc *);
int set_cd_speed(int, int);
void cdrom_close(int);
@@ -236,5 +237,6 @@ int print_disc_track_info(int);
void make_write_page(write_params_t *, struct cdrw_disc *);
void print_params(write_params_t *);
void cdrw_init_disc(struct cdrw_disc *);
+int udf_set_version(struct udf_disc *, int);
#endif /* _CDRWTOOL_H */
diff -Naupr udftools-1.0.0b3.orig/include/udf_endian.h udftools-1.0.0b3/include/udf_endian.h
--- udftools-1.0.0b3.orig/include/udf_endian.h 2002-11-26 08:18:51.000000000 +0100
+++ udftools-1.0.0b3/include/udf_endian.h 2006-07-27 14:09:30.000000000 +0200
@@ -23,6 +23,8 @@
#ifndef __UDF_ENDIAN_H
#define __UDF_ENDIAN_H
+#include <string.h>
+
#include "bswap.h"
static inline lb_addr lelb_to_cpu(lb_addr in)
diff -Naupr udftools-1.0.0b3.orig/libudffs/unicode.c udftools-1.0.0b3/libudffs/unicode.c
--- udftools-1.0.0b3.orig/libudffs/unicode.c 2002-11-26 08:18:51.000000000 +0100
+++ udftools-1.0.0b3/libudffs/unicode.c 2006-07-27 14:11:17.000000000 +0200
@@ -169,8 +169,6 @@ error_out:
int decode_string(struct udf_disc *disc, char *in, char *out, int inlen)
{
- int i;
-
if (disc->flags & FLAG_UTF8)
return decode_utf8(in, out, inlen);
else if (disc->flags & (FLAG_UNICODE8 | FLAG_UNICODE16))
diff -Naupr udftools-1.0.0b3.orig/pktsetup/pktsetup.c udftools-1.0.0b3/pktsetup/pktsetup.c
--- udftools-1.0.0b3.orig/pktsetup/pktsetup.c 2002-11-26 08:18:51.000000000 +0100
+++ udftools-1.0.0b3/pktsetup/pktsetup.c 2006-07-27 14:18:24.000000000 +0200
@@ -23,6 +23,7 @@
#include <getopt.h>
#include <bits/types.h>
#include <sys/types.h>
+#include <string.h>
#include <linux/cdrom.h>
diff -Naupr udftools-1.0.0b3.orig/wrudf/Makefile.am udftools-1.0.0b3/wrudf/Makefile.am
--- udftools-1.0.0b3.orig/wrudf/Makefile.am 2002-11-26 08:18:51.000000000 +0100
+++ udftools-1.0.0b3/wrudf/Makefile.am 2006-07-27 14:21:24.000000000 +0200
@@ -1,5 +1,5 @@
bin_PROGRAMS = wrudf
wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la -lreadline -lncurses
-wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h
+wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h ../include/libudffs.h
AM_CPPFLAGS = -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DDEBUG
diff -Naupr udftools-1.0.0b3.orig/wrudf/Makefile.in udftools-1.0.0b3/wrudf/Makefile.in
--- udftools-1.0.0b3.orig/wrudf/Makefile.in 2004-02-23 10:33:48.000000000 +0100
+++ udftools-1.0.0b3/wrudf/Makefile.in 2006-07-27 14:21:44.000000000 +0200
@@ -85,7 +85,7 @@ am__quote = @am__quote@
install_sh = @install_sh@
bin_PROGRAMS = wrudf
wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la -lreadline -lncurses
-wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h
+wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h ../include/libudffs.h
AM_CPPFLAGS = -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DDEBUG
subdir = wrudf
diff -Naupr udftools-1.0.0b3.orig/wrudf/wrudf.h udftools-1.0.0b3/wrudf/wrudf.h
--- udftools-1.0.0b3.orig/wrudf/wrudf.h 2002-11-26 08:18:51.000000000 +0100
+++ udftools-1.0.0b3/wrudf/wrudf.h 2006-07-27 14:22:33.000000000 +0200
@@ -23,9 +23,11 @@
#include <sys/time.h>
#include <time.h>
#include <stdint.h>
+#include <string.h>
#include "ecma_167.h"
#include "osta_udf.h"
+#include "libudffs.h"
struct generic_desc
{

View file

@ -0,0 +1,53 @@
Subject: Bug#288621: udftools: FTBFS (amd64/gcc-4.0): invalid lvalue in assignment
From: Andreas Jochens <aj@andaco.de>
Message-Id: <E1CltQT-00068G-Sy@localhost.localdomain>
Date: Tue, 04 Jan 2005 19:29:01 +0100
Lines: 59
Package: udftools
Severity: normal
Tags: patch
When building 'udftools' on amd64 with gcc-4.0,
I get the following error:
wrudf.c:119: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:119: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:119: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness
wrudf.c:119: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
wrudf.c:230: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:230: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:230: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:230: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness
wrudf.c:230: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
wrudf.c:245: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:245: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:245: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
wrudf.c:245: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness
wrudf.c:245: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
wrudf.c:248: error: invalid lvalue in assignment
make[2]: *** [wrudf.o] Error 1
make[2]: Leaving directory `/udftools-1.0.0b3/wrudf'
With the attached patch 'udftools' can be compiled
on amd64 using gcc-4.0.
The patch also changes the Build-Depends from 'libreadline4-dev'
to 'libreadline5-dev'.
Regards
Andreas Jochens
diff -urN ../tmp-orig/udftools-1.0.0b3/wrudf/wrudf.c ./wrudf/wrudf.c
--- ../tmp-orig/udftools-1.0.0b3/wrudf/wrudf.c 2002-11-26 08:18:51.000000000 +0100
+++ ./wrudf/wrudf.c 2005-01-04 16:56:49.394078200 +0100
@@ -245,7 +245,7 @@
} else if( strncmp( spm->partIdent.ident, UDF_ID_VIRTUAL, strlen(UDF_ID_VIRTUAL)) == 0 )
virtualPartitionNum = i;
}
- (char*)spm += spm->partitionMapLength;
+ spm = (char*)spm + spm->partitionMapLength;
}
if( medium == CDR ) {
diff -urN ../tmp-orig/udftools-1.0.0b3/debian/control ./debian/control

View file

@ -1,357 +0,0 @@
From 5905cc991fa466239fba4b6cd7f9f3bda5a87641 Mon Sep 17 00:00:00 2001
From: Zhang Sheng <zhangsheng@uniontech.com>
Date: Wed, 24 Mar 2021 13:50:05 +0800
Subject: [PATCH] libudffs: Fix misspelling
---
libudffs/extent.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libudffs/extent.c b/libudffs/extent.c
index 827d2b7..382962e 100644
--- a/libudffs/extent.c
+++ b/libudffs/extent.c
@@ -449,7 +449,7 @@ struct udf_desc *find_desc(struct udf_extent *ext, uint32_t offset)
/**
* @brief allocate a new udf_descriptor having a udf_data item and insert it
* into the udf_descriptor list of a udf_extent ordered by block number
- * @oaram ext the udf_extent containing the udf_descriptor list head
+ * @param ext the udf_extent containing the udf_descriptor list head
* @param ident the tag ident of the new udf_descriptor
* @param offset the first block the new descriptor describes
* @param length the length of the udf_data item payload in bytes
From 0d92ec4627e9921c4d8fa6f9db2ec584d5c8e3ad Mon Sep 17 00:00:00 2001
From: Zhang Sheng <zhangsheng@uniontech.com>
Date: Thu, 1 Apr 2021 21:15:16 +0800
Subject: [PATCH] wrudf: Fix incorrect return value checking for `lseek`
---
wrudf/wrudf-cdrw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wrudf/wrudf-cdrw.c b/wrudf/wrudf-cdrw.c
index 7e4391e..569c578 100644
--- a/wrudf/wrudf-cdrw.c
+++ b/wrudf/wrudf-cdrw.c
@@ -583,7 +583,7 @@ readSingleBlock(uint32_t pbn)
return blockBuffer;
} else {
off = lseek(device, 2048 * pbn, SEEK_SET);
- if( off != (off_t)-1 )
+ if( off == (off_t)-1 )
return NULL;
len = read(device, blockBuffer, 2048);
if( len != 2048 )
From 6063117955e96f2acd4425dade79fa1428a6cced Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
Date: Tue, 20 Apr 2021 00:13:03 +0200
Subject: [PATCH] bswap: Fix typo
---
include/bswap.h | 96 ++++++++++++++++++++++++-------------------------
1 file changed, 48 insertions(+), 48 deletions(-)
diff --git a/include/bswap.h b/include/bswap.h
index 8cfc7ff..e436903 100644
--- a/include/bswap.h
+++ b/include/bswap.h
@@ -28,17 +28,17 @@
#include <stdint.h>
#include <sys/types.h>
-#define constant_swab16(x) \
+#define constant_swap16(x) \
((uint16_t)((((uint16_t)(x) & 0x00FFU) << 8) | \
(((uint16_t)(x) & 0xFF00U) >> 8)))
-#define constant_swab32(x) \
+#define constant_swap32(x) \
((uint32_t)((((uint32_t)(x) & 0x000000FFU) << 24) | \
(((uint32_t)(x) & 0x0000FF00U) << 8) | \
(((uint32_t)(x) & 0x00FF0000U) >> 8) | \
(((uint32_t)(x) & 0xFF000000U) >> 24)))
-#define constant_swab64(x) \
+#define constant_swap64(x) \
((uint64_t)((((uint64_t)(x) & 0x00000000000000FFULL) << 56) | \
(((uint64_t)(x) & 0x000000000000FF00ULL) << 40) | \
(((uint64_t)(x) & 0x0000000000FF0000ULL) << 24) | \
@@ -48,13 +48,13 @@
(((uint64_t)(x) & 0x00FF000000000000ULL) >> 40) | \
(((uint64_t)(x) & 0xFF00000000000000ULL) >> 56)))
-static inline uint16_t swab16(uint16_t x)
+static inline uint16_t swap16(uint16_t x)
{
return ((uint16_t)((((uint16_t)(x) & 0x00FFU) << 8) | \
(((uint16_t)(x) & 0xFF00U) >> 8)));
}
-static inline uint32_t swab32(uint32_t x)
+static inline uint32_t swap32(uint32_t x)
{
return ((uint32_t)((((uint32_t)(x) & 0x000000FFU) << 24) | \
(((uint32_t)(x) & 0x0000FF00U) << 8) | \
@@ -62,7 +62,7 @@ static inline uint32_t swab32(uint32_t x)
(((uint32_t)(x) & 0xFF000000U) >> 24)));
}
-static inline uint64_t swab64(uint64_t x)
+static inline uint64_t swap64(uint64_t x)
{
return ((uint64_t)((((uint64_t)(x) & 0x00000000000000FFULL) << 56) | \
(((uint64_t)(x) & 0x000000000000FF00ULL) << 40) | \
@@ -74,17 +74,17 @@ static inline uint64_t swab64(uint64_t x)
(((uint64_t)(x) & 0xFF00000000000000ULL) >> 56)));
}
-#define constant_swab16p(x) \
+#define constant_swap16p(x) \
((uint16_t)(((*(uint16_t *)(x) & 0x00FFU) << 8) | \
((*(uint16_t *)(x) & 0xFF00U) >> 8)))
-#define constant_swab32p(x) \
+#define constant_swap32p(x) \
((uint32_t)(((*(uint32_t *)(x) & 0x000000FFU) << 24) | \
((*(uint32_t *)(x) & 0x0000FF00U) << 8) | \
((*(uint32_t *)(x) & 0x00FF0000U) >> 8) | \
((*(uint32_t *)(x) & 0xFF000000U) >> 24)))
-#define constant_swab64p(x) \
+#define constant_swap64p(x) \
((uint64_t)(((*(uint64_t *)(x) & 0x00000000000000FFULL) << 56) | \
((*(uint64_t *)(x) & 0x000000000000FF00ULL) << 40) | \
((*(uint64_t *)(x) & 0x0000000000FF0000ULL) << 24) | \
@@ -95,13 +95,13 @@ static inline uint64_t swab64(uint64_t x)
((*(uint64_t *)(x) & 0xFF00000000000000ULL) >> 56)))
-static inline uint16_t swab16p(uint16_t *x)
+static inline uint16_t swap16p(uint16_t *x)
{
return ((uint16_t)(((*(uint16_t *)(x) & 0x00FFU) << 8) | \
((*(uint16_t *)(x) & 0xFF00U) >> 8)));
}
-static inline uint32_t swab32p(uint32_t *x)
+static inline uint32_t swap32p(uint32_t *x)
{
return ((uint32_t)(((*(uint32_t *)(x) & 0x000000FFU) << 24) | \
((*(uint32_t *)(x) & 0x0000FF00U) << 8) | \
@@ -109,7 +109,7 @@ static inline uint32_t swab32p(uint32_t *x)
((*(uint32_t *)(x) & 0xFF000000U) >> 24)));
}
-static inline uint64_t swab64p(uint64_t *x)
+static inline uint64_t swap64p(uint64_t *x)
{
return ((uint64_t)(((*(uint64_t *)(x) & 0x00000000000000FFULL) << 56) | \
((*(uint64_t *)(x) & 0x000000000000FF00ULL) << 40) | \
@@ -124,37 +124,37 @@ static inline uint64_t swab64p(uint64_t *x)
#ifdef WORDS_BIGENDIAN
#define le16_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab16(x) : \
- swab16(x))
+ constant_swap16(x) : \
+ swap16(x))
#define le32_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab32(x) : \
- swab32(x))
+ constant_swap32(x) : \
+ swap32(x))
#define le64_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab64(x) : \
- swab64(x))
+ constant_swap64(x) : \
+ swap64(x))
-#define constant_le16_to_cpu(x) constant_swab16((x))
-#define constant_le32_to_cpu(x) constant_swab32((x))
-#define constant_le64_to_cpu(x) constant_swab64((x))
+#define constant_le16_to_cpu(x) constant_swap16((x))
+#define constant_le32_to_cpu(x) constant_swap32((x))
+#define constant_le64_to_cpu(x) constant_swap64((x))
#define le16_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab16p(x) : \
- swab16p(x))
+ constant_swap16p(x) : \
+ swap16p(x))
#define le32_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab32p(x) : \
- swab32p(x))
+ constant_swap32p(x) : \
+ swap32p(x))
#define le64_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab64p(x) : \
- swab64p(x))
+ constant_swap64p(x) : \
+ swap64p(x))
-#define constant_le16_to_cpup(x) constant_swab16p((x))
-#define constant_le32_to_cpup(x) constant_swab32p((x))
-#define constant_le64_to_cpup(x) constant_swab64p((x))
+#define constant_le16_to_cpup(x) constant_swap16p((x))
+#define constant_le32_to_cpup(x) constant_swap32p((x))
+#define constant_le64_to_cpup(x) constant_swap64p((x))
#define be16_to_cpu(x) ((uint16_t)(x))
#define be32_to_cpu(x) ((uint32_t)(x))
@@ -191,37 +191,37 @@ static inline uint64_t swab64p(uint64_t *x)
#define constant_le64_to_cpup(x) (*(uint64_t *)(x))
#define be16_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab16(x) : \
- swab16(x))
+ constant_swap16(x) : \
+ swap16(x))
#define be32_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab32(x) : \
- swab32(x))
+ constant_swap32(x) : \
+ swap32(x))
#define be64_to_cpu(x) (__builtin_constant_p(x) ? \
- constant_swab64(x) : \
- swab64(x))
+ constant_swap64(x) : \
+ swap64(x))
-#define constant_be16_to_cpu(x) constant_swab16((x))
-#define constant_be32_to_cpu(x) constant_swab32((x))
-#define constant_be64_to_cpu(x) constant_swab64((x))
+#define constant_be16_to_cpu(x) constant_swap16((x))
+#define constant_be32_to_cpu(x) constant_swap32((x))
+#define constant_be64_to_cpu(x) constant_swap64((x))
#define be16_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab16p(x) : \
- swab16p(x))
+ constant_swap16p(x) : \
+ swap16p(x))
#define be32_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab32p(x) : \
- swab32p(x))
+ constant_swap32p(x) : \
+ swap32p(x))
#define be64_to_cpup(x) (__builtin_constant_p(x) ? \
- constant_swab64p(x) : \
- swab64p(x))
+ constant_swap64p(x) : \
+ swap64p(x))
-#define constant_be16_to_cpup(x) constant_swab16p((x))
-#define constant_be32_to_cpup(x) constant_swab32p((x))
-#define constant_be64_to_cpup(x) constant_swab64p((x))
+#define constant_be16_to_cpup(x) constant_swap16p((x))
+#define constant_be32_to_cpup(x) constant_swap32p((x))
+#define constant_be64_to_cpup(x) constant_swap64p((x))
#endif /* WORDS_BIGENDIAN */
From 07c5f12de1f9d3582b21d78296b7d05403dca008 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
Date: Tue, 20 Apr 2021 00:13:26 +0200
Subject: [PATCH] mkudffs: Add missing branch for mmc_profile detection
---
mkudffs/options.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/mkudffs/options.c b/mkudffs/options.c
index 58d810a..0b9e4a7 100644
--- a/mkudffs/options.c
+++ b/mkudffs/options.c
@@ -797,6 +797,10 @@ void parse_args(int argc, char *argv[], struct udf_disc *disc, char **device, in
else /* All other disc statuses means that medium is recordable = CD-R */
mmc_profile = 0x09;
}
+ else
+ {
+ mmc_profile = 0x00; /* Unknown optical disc */
+ }
}
else
{
From 7a432b0bcd76cbd6a79925cde213f5d9073df137 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>
Date: Sat, 12 Jun 2021 12:09:05 +0200
Subject: [PATCH] wrudf: Fix parsing Volume Descriptor Sequence
Fixes reading Reserve Volume Descriptor Sequence and fixes crashing when
readTaggedBlock() returns NULL.
---
wrudf/wrudf.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/wrudf/wrudf.c b/wrudf/wrudf.c
index 79ca383..7a500c9 100644
--- a/wrudf/wrudf.c
+++ b/wrudf/wrudf.c
@@ -93,6 +93,7 @@ void
initialise(char *devicename)
{
uint32_t i, len, blkno, lastblk, size;
+ int inMainSeq;
long_ad *fsdAd;
short_ad *adSpaceMap;
struct sparablePartitionMap *spm;
@@ -158,17 +159,17 @@ initialise(char *devicename)
/* read Volume Descriptor Sequence */
blkno = extentMainVolDescSeq.extLocation;
len = extentMainVolDescSeq.extLength;
+ inMainSeq = 1;
for( i = 0; i < len; blkno++, i += 2048 ) {
- int inMainSeq = 1;
-
if( (p = readTaggedBlock(blkno, ABSOLUTE)) == NULL ) {
if( !inMainSeq )
fail("Volume Descriptor Sequences read failure\n");
- blkno = extentRsrvVolDescSeq.extLocation;
+ blkno = extentRsrvVolDescSeq.extLocation - 1;
len = extentRsrvVolDescSeq.extLength;
inMainSeq = 0;
- i = 0;
+ i = (uint32_t) -2048;
+ continue;
}
switch( p->descTag.tagIdent ) {
case TAG_IDENT_PVD:
From b08c75d234d69b2d1cf07dc639d432db767a775f Mon Sep 17 00:00:00 2001
From: Jiri Kucera <jkucera@redhat.com>
Date: Sun, 13 Jun 2021 19:37:47 +0200
Subject: [PATCH] wrudf-cdr.c: Exit on allocation failure
---
wrudf/wrudf-cdr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wrudf/wrudf-cdr.c b/wrudf/wrudf-cdr.c
index 538167a..27883da 100644
--- a/wrudf/wrudf-cdr.c
+++ b/wrudf/wrudf-cdr.c
@@ -26,7 +26,7 @@ uint32_t newVATentry() {
sizeVAT += 2048;
vat = realloc(vat, sizeVAT);
if( vat == NULL )
- printf("VAT reallocation failed\n");
+ fail("VAT reallocation failed\n");
}
/* could go through VAT and try to find unused 0xFFFFFFFF entry rather than alloc new one at the end */
vat[newVATindex] = getNWA() - pd->partitionStartingLocation;

View file

@ -1,218 +1,54 @@
Summary: Linux UDF Filesystem userspace utilities
Name: udftools
Version: 2.3
Release: 14%{?dist}
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
Version: 1.0.0b3
Release: 7%{?dist}
License: GPL
Group: Applications/Archiving
URL: http://sourceforge.net/projects/linux-udf/
Source: https://github.com/pali/udftools/releases/download/%{version}/udftools-%{version}.tar.gz
Patch1: udftools-2.3-backported_fixes.patch
BuildRequires: make
Source: http://dl.sf.net/linux-udf/udftools-%{version}.tar.gz
Patch0: udftools-1.0.0b3-pktsetup-chardev.patch
Patch1: udftools-1.0.0b3-mkudffs-bigendian.patch
Patch2: udftools-1.0.0b3-wrudf-gcc4.patch
Patch3: udftools-1.0.0b3-warningfixes.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: readline-devel, ncurses-devel
BuildRequires: autoconf, automake, libtool, perl-Carp
BuildRequires: udev
Requires: udev
%description
Linux UDF Filesystem userspace utilities.
%prep
%autosetup -p1
%setup
%patch0 -p1 -b .pktsetup-chardev
%patch1 -p1 -b .mkudffs-bigendian
%patch2 -p1 -b .wrudf-gcc4
%patch3 -p1 -b .warningfixes
%build
#./bootstrap #not in the tarball anymore, lets use pregenerated autotools
##export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing --std=gnu99"
%configure
%make_build
##%%{__make} %%{?_smp_mflags}
%{__make} %{?_smp_mflags}
%install
%make_install
#./libtool --finish %%{buildroot}%%{_libdir} #causes failure and is probably unneeded, we dont ship a library
rm -rf %{buildroot}%{_bindir}/udffsck
%{__rm} -rf %{buildroot}
%makeinstall
%clean
%{__rm} -rf %{buildroot}
%files
%doc AUTHORS NEWS
%license COPYING
%defattr(-, root, root, 0755)
%doc AUTHORS ChangeLog COPYING
%{_bindir}/*
%{_sbindir}/*
%{_pkgdocdir}/*
%exclude %{_libdir}/libudffs.a
%exclude %{_libdir}/libudffs.la
%{_mandir}/man?/*
%{_udevrulesdir}/80-pktsetup.rules
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 2.3-10
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 15 2021 Jiri Kucera <jkucera@redhat.com> - 2.3-2
- wrudf: Fix parsing Volume Descriptor Sequence
- wrudf: Exit on allocation failure
* Wed Jun 09 2021 Jiri Kucera <jkucera@redhat.com> - 2.3-1
- Update to 2.3
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Apr 20 2020 Filipe Rosset <rosset.filipe@gmail.com> - 2.2-1
- Update to 2.2
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.1-3
- Rebuild for readline 8.0
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Dec 29 2018 Filipe Rosset <rosset.filipe@gmail.com> - 2.1-1
- new upstream version 2.1 fixes rhbz #1625987 + spec cleanup and modernization
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jan 24 2017 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.3-1
- rebase to 1.3
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.2-2
- Rebuild for readline 7.x
* Wed Jul 13 2016 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.2-1
- Rebase from a new upstream, dropped patches
- Several binaries moved from bin to sbin
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0b3-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Feb 20 2015 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-29
- FTBFS fixed, --std=gnu89 is no longer default with gcc-5
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Apr 09 2014 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-26
- added missing option in man pages
* Fri Oct 04 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-25
- invalid source url fixed
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Apr 16 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-23
- Build dependency on txt2man unacceptable. Included final man page wrudf.1 instead of source.
* Tue Apr 16 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-22
- added man page for wrudf
* Mon Apr 15 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-21
- added "--help"/"-h" with basic info to wrudf
* Fri Apr 05 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.0.0b3-20
- udffsck is an empty placeholder, erased
* Mon Mar 25 2013 Harald Hoyer <harald@redhat.com> 1.0.0b3-19
- run autoreconf to support aarch64 architecture
Resolves: rhbz#926671
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Sep 18 2012 Honza Horak <hhorak@redhat.com> - 1.0.0b3-17
- Minor spec file fixes
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 26 2012 Honza Horak <hhorak@redhat.com> - 1.0.0b3-15
- fixed segmentation fault
Resolves: #685005
- fixed some most obvious issues from static analysis
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jun 23 2010 Roman Rakus <rrakus@redhat.com> - 1.0.0b3-12
- Build with -fno-strict-aliasing CFLAG
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0b3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0.0b3-9
- Autorebuild for GCC 4.3
* Thu Aug 23 2007 Harald Hoyer <harald@redhat.com> - 1.0.0b3-8
- fixed compile issues
- added more bigendian patches
- changed license tag
* Mon Aug 28 2006 Matthias Saou <http://freshrpms.net/> 1.0.0b3-7
- FC6 rebuild.