code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>libplist</Name>
        <Homepage>http://matt.colyer.name/projects/iphone-linux</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2+</License>
        <License>GPLv2</License>
        <IsA>library</IsA>
        <IsA>app:console</IsA>
        Library for manipulating Apple Binary and XML Property Lists
        <Description>libplist is a library for manipulating Apple Binary and XML Property Lists.</Description>
        <Archive sha1sum="48f071c723387637ef2cc2980d4ca0627aab067b" type="tarbz2">http://www.libimobiledevice.org/downloads/libplist-1.12.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency>libxml2-devel</Dependency>
            <Dependency>python-devel</Dependency>
            <Dependency>cython</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>libplist</Name>
        <RuntimeDependencies>
            <Dependency>libxml2</Dependency>
            <Dependency>python</Dependency>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="executable">/usr/bin</Path>
        </Files>
    </Package>

    <Package>
        <Name>libplist-devel</Name>
        Development files for libplist
        <RuntimeDependencies>
            <Dependency release="current">libplist</Dependency>
            <Dependency>libxml2-devel</Dependency>
            <Dependency>python-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="header">/usr/lib/pkgconfig</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-03-01</Date>
            <Version>1.12</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.11</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-07-31</Date>
            <Version>1.11</Version>
            <Comment>First release</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>libplist</Name>
        Apple ikili dosyaları ve XML özellik listeleri üzerindeki işlemler için kütüphane
        <Description xml:lang="tr">libplist, Apple ikili dosyaları ve XML özellik listeleri üzerindeki işlemler için gerekli bir kütüphanedir.</Description>
    </Source>

    <Package>
        <Name>libplist-devel</Name>
        libplist için geliştirme dosyaları
    </Package>
</PISI>

repo_name: ayhanyalcinsoy/main


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import get
from pisi.actionsapi import pisitools
from pisi.actionsapi import autotools
from pisi.actionsapi import shelltools
def setup():

    autotools.configure("\
                         --disable-static \
                         --disable-silent-rules \
                        ")

def build():
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())

    pisitools.dodoc("AUTHORS", "README")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>libusbmuxd</Name>
        <Homepage>http://marcansoft.com/blog/iphonelinux/libusbmuxd</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <License>LGPLv2.1</License>
        <IsA>service</IsA>
        <IsA>library</IsA>
        Daemon for communicating with Apple's iPod Touch and iPhone
        <Description>libusbmuxd is a daemon used for communicating with Apple's iPod Touch and iPhone devices. It allows multiple services on the device to be accessed simultaneously.</Description>
        <Archive sha1sum="9d4ce8ac058cfea66e6785d2bad5bb9c93681b16" type="tarbz2">http://www.libimobiledevice.org/downloads/libusbmuxd-1.0.10.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency>libplist-devel</Dependency>
            <Dependency>libusb-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>libusbmuxd</Name>
        <RuntimeDependencies>
            <Dependency>libplist</Dependency>
            <Dependency>libusb</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="executable">/usr/sbin</Path>
            <Path fileType="data">/lib/udev/rules.d</Path>
        </Files>
    </Package>

    <Package>
        <Name>libusbmuxd-devel</Name>
        Development files for libusbmuxd
        <RuntimeDependencies>
            <Dependency release="current">libusbmuxd</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
        </Files>
    </Package>

    <History>
        <Update release="1">
            <Date>2017-06-21</Date>
             <Version>1.0.10</Version>
            <Comment>First release</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>usbmuxd</Name>
        Apple iPod Touch ve iPhone iletişim hizmeti
        <Description xml:lang="tr">usbmuxd, Apple iPod Touch ve iPhone cihazlarıyla iletişim kurmak için gerekli bir sistem hizmetidir. Aynı anda, birden fazla cihaza bağlanma imkanı sağlar.</Description>
    </Source>

    <Package>
        <Name>usbmuxd-devel</Name>
        usbmuxd için geliştirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import get
from pisi.actionsapi import pisitools
from pisi.actionsapi import autotools
from pisi.actionsapi import shelltools

def setup():
    shelltools.system("./autogen.sh")
    autotools.configure("\
                         --without-systemd \
                         --disable-static \
                         --disable-silent-rules \
                        ")

def build():
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())

    pisitools.dodoc("AUTHORS", "README")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>usbmuxd</Name>
        <Homepage>http://marcansoft.com/blog/iphonelinux/usbmuxd</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <License>LGPLv2.1</License>
        <IsA>service</IsA>
        <IsA>library</IsA>
        Daemon for communicating with Apple's iPod Touch and iPhone
        <Description>usbmuxd is a daemon used for communicating with Apple's iPod Touch and iPhone devices. It allows multiple services on the device to be accessed simultaneously.</Description>
        <Archive sha1sum="bb9060845e680935b354c94156cf9b265044d04e" type="targz">https://codeload.github.com/libimobiledevice/usbmuxd/tar.gz/1.1.0</Archive>
        <BuildDependencies>
            <Dependency>eudev-devel</Dependency>
            <Dependency>libplist-devel</Dependency>
            <Dependency>libusb-devel</Dependency>
            <Dependency>libimobiledevice-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>usbmuxd</Name>
        <RuntimeDependencies>
            <Dependency>libplist</Dependency>
            <Dependency>libusb</Dependency>
            <Dependency>libimobiledevice</Dependency>
        </RuntimeDependencies>
       <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="executable">/usr/sbin</Path>
            <Path fileType="data">/lib/udev/rules.d</Path>
            <Path fileType="man">/usr/share/man/man1/usbmuxd.1</Path>
        </Files>
    </Package>

    <History>
        <Update release="5">
            <Date>2017-06-21</Date>
             <Version>1.1.0</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2014-03-05</Date>
            <Version>1.0.10</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-03-01</Date>
            <Version>1.0.10</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.0.9</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2014-05-24</Date>
            <Version>1.0.9</Version>
            <Comment>First release</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import libtools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get

WorkDir = "cdparanoia-III-10.2"
flags = "%s -I%s/%s/interface -Wno-pointer-sign -Wno-unused -Werror-implicit-function-declaration" % (get.CFLAGS(), get.workDIR(), WorkDir)

def setup():
    #shelltools.cd("cdparanoia-III-10.2")
    #shelltools.move("configure.guess", "config.guess")
    #shelltools.move("configure.sub", "config.sub")

    autotools.autoreconf("-vfi")
    libtools.gnuconfig_update()
    libtools.libtoolize("--force --install")
    autotools.configure()

def build():
    autotools.make('OPT="%s" -j1' % flags)

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())

    # No static libs
    #pisitools.remove("/usr/lib/*.a")

    pisitools.dodoc("COPYING*", "README")


code:
Fix build system to be usable by compiling shared libs as -fPIC and
using DESTDIR for installing. Patch by Samuli Suominen <ssuominen AT
gentoo.org> and Alexis Ballier <aballier AT gentoo.org>. See,

http://trac.xiph.org/ticket/1368 (upstream bug)

diff -ur cdparanoia-III-10.2.orig/interface/Makefile.in cdparanoia-III-10.2/interface/Makefile.in
--- cdparanoia-III-10.2.orig/interface/Makefile.in	2008-08-21 19:08:54.000000000 +0300
+++ cdparanoia-III-10.2/interface/Makefile.in	2009-06-20 20:43:39.000000000 +0300
@@ -10,6 +10,7 @@
 FLAGS=@SBPCD_H@ @UCDROM_H@ @TYPESIZES@ @CFLAGS@
 OPT=@OPT@ $(FLAGS)
 DEBUG=@DEBUG@ -DCDDA_TEST
+LIBFLAGS = -fPIC
 CC=@CC@
 LD=@CC@
 LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,6 +21,8 @@

 OFILES = scan_devices.o	common_interface.o cooked_interface.o interface.o\
 	scsi_interface.o smallft.o toc.o test_interface.o
+LOFILES = scan_devices.lo common_interface.lo cooked_interface.lo interface.lo\
+	scsi_interface.lo smallft.lo toc.lo test_interface.lo

 export VERSION

@@ -32,8 +35,7 @@
 	$(MAKE) libcdda_interface.a CFLAGS="$(OPT)"

 slib:
-	$(MAKE) lessmessy
-	$(MAKE) libcdda_interface.so CFLAGS="$(OPT) -fpic"
+	$(MAKE) libcdda_interface.so CFLAGS="$(OPT)"
 	[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so libcdda_interface.so.0

 test:
@@ -45,14 +47,17 @@
 	$(AR) -r libcdda_interface.a $(OFILES)
 	$(RANLIB) libcdda_interface.a

-libcdda_interface.so: 	$(OFILES)
-	$(CC) -fpic -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(OFILES) $(LIBS)
+libcdda_interface.so: 	$(LOFILES)
+	$(CC) $(LDFLAGS) $(LIBFLAGS) -shared -o libcdda_interface.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_interface.so.0 $(LOFILES) $(LIBS)
 	[ -e libcdda_interface.so.0 ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so.0
 	[ -e libcdda_interface.so ] || ln -s libcdda_interface.so.0.$(VERSION) libcdda_interface.so

 .c.o:
 	$(CC) $(CFLAGS) -c $<

+%.lo: %.c
+	$(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
 lessmessy:
 	-rm  -f *.o core *~ *.out

diff -ur cdparanoia-III-10.2.orig/Makefile.in cdparanoia-III-10.2/Makefile.in
--- cdparanoia-III-10.2.orig/Makefile.in	2008-09-11 23:33:30.000000000 +0300
+++ cdparanoia-III-10.2/Makefile.in	2009-06-20 20:43:17.000000000 +0300
@@ -63,28 +63,28 @@
 	cd paranoia && $(MAKE) slib

 install:
-	$(INSTALL) -d -m 0755 $(BINDIR)
-	$(INSTALL) -m 755 $(srcdir)/cdparanoia $(BINDIR)
-	$(INSTALL) -d -m 0755 $(MANDIR)
-	$(INSTALL) -d -m 0755 $(MANDIR)/man1
-	$(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(MANDIR)/man1
-	$(INSTALL) -d -m 0755 $(INCLUDEDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(INCLUDEDIR)
-	$(INSTALL) -d -m 0755 $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(INCLUDEDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(LIBDIR)
-	$(INSTALL) -m 0644 $(srcdir)/utils.h $(INCLUDEDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(BINDIR)
+	$(INSTALL) -m 755 $(srcdir)/cdparanoia $(DESTDIR)$(BINDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL) -m 0644 $(srcdir)/cdparanoia.1 $(DESTDIR)$(MANDIR)/man1
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/cdda_paranoia.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -d -m 0755 $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/paranoia/libcdda_paranoia.a $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/cdda_interface.h $(DESTDIR)$(INCLUDEDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.so.0.$(VERSION) $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/interface/libcdda_interface.a $(DESTDIR)$(LIBDIR)
+	$(INSTALL) -m 0644 $(srcdir)/utils.h $(DESTDIR)$(INCLUDEDIR)
 	ln -fs libcdda_interface.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_interface.so.0
+		$(DESTDIR)$(LIBDIR)/libcdda_interface.so.0
 	ln -fs libcdda_interface.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_interface.so
+		$(DESTDIR)$(LIBDIR)/libcdda_interface.so
 	ln -fs libcdda_paranoia.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_paranoia.so.0
+		$(DESTDIR)$(LIBDIR)/libcdda_paranoia.so.0
 	ln -fs libcdda_paranoia.so.0.$(VERSION) \
-		$(LIBDIR)/libcdda_paranoia.so
+		$(DESTDIR)$(LIBDIR)/libcdda_paranoia.so

 cdparanoia:	$(OFILES) $(LIBDEP)
 		$(LD) $(CFLAGS) $(LDFLAGS) $(OFILES) \
diff -ur cdparanoia-III-10.2.orig/paranoia/Makefile.in cdparanoia-III-10.2/paranoia/Makefile.in
--- cdparanoia-III-10.2.orig/paranoia/Makefile.in	2008-09-04 22:02:47.000000000 +0300
+++ cdparanoia-III-10.2/paranoia/Makefile.in	2009-06-20 20:43:39.000000000 +0300
@@ -11,6 +11,7 @@
 FLAGS=@TYPESIZES@ @CFLAGS@
 OPT=@OPT@ $(FLAGS)
 DEBUG=@DEBUG@
+LIBFLAGS = -fPIC
 CC=@CC@
 LD=@CC@
 LDFLAGS=@LDFLAGS@ $(FLAGS)
@@ -20,8 +21,9 @@

 OFILES = paranoia.o p_block.o overlap.o gap.o isort.o
 #TFILES = isort.t gap.t p_block.t paranoia.t
+LOFILES = paranoia.lo p_block.lo overlap.lo gap.lo isort.lo

-LIBS = ../interface/libcdda_interface.a -lm
+LIBS = ../interface/libcdda_interface.so -lm
 export VERSION

 all: lib slib
@@ -33,8 +35,7 @@
 	$(MAKE) libcdda_paranoia.a CFLAGS="$(OPT)"

 slib:
-	$(MAKE) lessmessy
-	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT) -fpic"
+	$(MAKE) libcdda_paranoia.so CFLAGS="$(OPT)"

 #test:	$(TFILES)
 #
@@ -43,14 +44,17 @@
 	$(AR) -r libcdda_paranoia.a $(OFILES)
 	$(RANLIB) libcdda_paranoia.a

-libcdda_paranoia.so: 	$(OFILES)
-	$(CC) -fpic -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(OFILES) -L ../interface -lcdda_interface
+libcdda_paranoia.so: 	$(LOFILES)
+	$(CC) $(LDFLAGS) $(LIBSFLAGS) -shared -o libcdda_paranoia.so.0.$(VERSION) -Wl,-soname -Wl,libcdda_paranoia.so.0 $(LOFILES) -L ../interface -lcdda_interface
 	[ -e libcdda_paranoia.so.0 ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so.0
 	[ -e libcdda_paranoia.so ] || ln -s libcdda_paranoia.so.0.$(VERSION) libcdda_paranoia.so

 .c.o:
 	$(CC) $(CFLAGS) -c $<

+%.lo: %.c
+	$(CC) $(CFLAGS) $(LIBFLAGS) -c $< -o $@
+
 .c.t:
 	$(CC) -g -DTEST $(DEBUG) -o $@ $< $(LIBS)
 	$@


code:
#!/bin/sh /usr/share/dpatch/dpatch-run
## 04-gcc4.3.dpatch by Monty <paranoia@xiph.org>
##
## DP: Changeset 15338: Commit fix for 'private' becoming a reserved keyword as
## DP: of GCC 4.3+ (Closes: #499676).

@DPATCH@

================================================================================
--- cdparanoia-III-10.2/interface/cdda_interface.h
+++ cdparanoia-III-10.2/interface/cdda_interface.h
@@ -84,7 +84,7 @@
   int is_atapi;
   int is_mmc;

-  cdda_private_data_t *private;
+  cdda_private_data_t *private_data;
   void         *reserved;
   unsigned char inqbytes[4];

--- cdparanoia-III-10.2/interface/cooked_interface.c
+++ cdparanoia-III-10.2/interface/cooked_interface.c
@@ -13,13 +13,13 @@
 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
   struct timespec tv1;
   struct timespec tv2;
-  int ret1=clock_gettime(d->private->clock,&tv1);
+  int ret1=clock_gettime(d->private_data->clock,&tv1);
   int ret2=ioctl(fd, command,arg);
-  int ret3=clock_gettime(d->private->clock,&tv2);
+  int ret3=clock_gettime(d->private_data->clock,&tv2);
   if(ret1<0 || ret3<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
   }
   return ret2;
 }
--- cdparanoia-III-10.2/interface/interface.c
+++ cdparanoia-III-10.2/interface/interface.c
@@ -39,9 +39,9 @@
     if(d->drive_model)free(d->drive_model);
     if(d->cdda_fd!=-1)close(d->cdda_fd);
     if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
-    if(d->private){
-      if(d->private->sg_hd)free(d->private->sg_hd);
-      free(d->private);
+    if(d->private_data){
+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
+      free(d->private_data);
     }

     free(d);
@@ -127,7 +127,7 @@
 	}
       }
     }
-    if(ms)*ms=d->private->last_milliseconds;
+    if(ms)*ms=d->private_data->last_milliseconds;
     return(sectors);
   }

--- cdparanoia-III-10.2/interface/scan_devices.c
+++ cdparanoia-III-10.2/interface/scan_devices.c
@@ -270,11 +270,11 @@
   d->interface=COOKED_IOCTL;
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   {
     /* goddamnit */
     struct timespec tv;
-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
   }
   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
   return(d);
@@ -680,15 +680,15 @@
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
   d->messagedest = messagedest;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   {
     /* goddamnit */
     struct timespec tv;
-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
   }
   if(use_sgio){
     d->interface=SGIO_SCSI;
-    d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
+    d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
     g_fd=d->cdda_fd=dup(d->ioctl_fd);
   }else{
     version=verify_SG_version(d,messagedest,messages);
@@ -702,8 +702,8 @@
     }

     /* malloc our big buffer for scsi commands */
-    d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
-    d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
+    d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
+    d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
   }

   {
@@ -778,9 +778,9 @@
   if(i_fd!=-1)close(i_fd);
   if(g_fd!=-1)close(g_fd);
   if(d){
-    if(d->private){
-      if(d->private->sg_hd)free(d->private->sg_hd);
-      free(d->private);
+    if(d->private_data){
+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
+      free(d->private_data);
     }
     free(d);
   }
@@ -827,7 +827,7 @@
   d->interface=TEST_INTERFACE;
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   d->drive_model=copystring("File based test interface");
   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);

--- cdparanoia-III-10.2/interface/scsi_interface.c
+++ cdparanoia-III-10.2/interface/scsi_interface.c
@@ -15,13 +15,13 @@
 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
   struct timespec tv1;
   struct timespec tv2;
-  int ret1=clock_gettime(d->private->clock,&tv1);
+  int ret1=clock_gettime(d->private_data->clock,&tv1);
   int ret2=ioctl(fd, command,arg);
-  int ret3=clock_gettime(d->private->clock,&tv2);
+  int ret3=clock_gettime(d->private_data->clock,&tv2);
   if(ret1<0 || ret3<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
   }
   return ret2;
 }
@@ -96,7 +96,7 @@
 static void clear_garbage(cdrom_drive *d){
   fd_set fdset;
   struct timeval tv;
-  struct sg_header *sg_hd=d->private->sg_hd;
+  struct sg_header *sg_hd=d->private_data->sg_hd;
   int flag=0;

   /* clear out any possibly preexisting garbage */
@@ -185,7 +185,7 @@
   struct timespec tv2;
   int tret1,tret2;
   int status = 0;
-  struct sg_header *sg_hd=d->private->sg_hd;
+  struct sg_header *sg_hd=d->private_data->sg_hd;
   long writebytes=SG_OFF+cmd_len+in_size;

   /* generic scsi device services */
@@ -195,7 +195,7 @@

   memset(sg_hd,0,sizeof(sg_hd));
   memset(sense_buffer,0,SG_MAX_SENSE);
-  memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
+  memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
   sg_hd->twelve_byte = cmd_len == 12;
   sg_hd->result = 0;
   sg_hd->reply_len = SG_OFF + out_size;
@@ -209,7 +209,7 @@
      tell if the command failed.  Scared yet? */

   if(bytecheck && out_size>in_size){
-    memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
+    memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
     /* the size does not remove cmd_len due to the way the kernel
        driver copies buffers */
     writebytes+=(out_size-in_size);
@@ -243,7 +243,7 @@
   }

   sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
-  tret1=clock_gettime(d->private->clock,&tv1);
+  tret1=clock_gettime(d->private_data->clock,&tv1);
   errno=0;
   status = write(d->cdda_fd, sg_hd, writebytes );

@@ -289,7 +289,7 @@
     }
   }

-  tret2=clock_gettime(d->private->clock,&tv2);
+  tret2=clock_gettime(d->private_data->clock,&tv2);
   errno=0;
   status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
   sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL );
@@ -313,7 +313,7 @@
   if(bytecheck && in_size+cmd_len<out_size){
     long i,flag=0;
     for(i=in_size;i<out_size;i++)
-      if(d->private->sg_buffer[i]!=bytefill){
+      if(d->private_data->sg_buffer[i]!=bytefill){
 	flag=1;
 	break;
       }
@@ -326,9 +326,9 @@

   errno=0;
   if(tret1<0 || tret2<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
   }
   return(0);
 }
@@ -347,7 +347,7 @@

   memset(&hdr,0,sizeof(hdr));
   memset(sense,0,sizeof(sense));
-  memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
+  memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);

   hdr.cmdp = cmd;
   hdr.cmd_len = cmd_len;
@@ -355,7 +355,7 @@
   hdr.mx_sb_len = SG_MAX_SENSE;
   hdr.timeout = 50000;
   hdr.interface_id = 'S';
-  hdr.dxferp =  d->private->sg_buffer;
+  hdr.dxferp =  d->private_data->sg_buffer;
   hdr.flags = SG_FLAG_DIRECT_IO;  /* direct IO if we can get it */

   /* scary buffer fill hack */
@@ -400,7 +400,7 @@
   if(bytecheck && in_size<out_size){
     long i,flag=0;
     for(i=in_size;i<out_size;i++)
-      if(d->private->sg_buffer[i]!=bytefill){
+      if(d->private_data->sg_buffer[i]!=bytefill){
 	flag=1;
 	break;
       }
@@ -412,7 +412,7 @@
   }

   /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
-  /* d->private->last_milliseconds = hdr.duration; */
+  /* d->private_data->last_milliseconds = hdr.duration; */

   errno = 0;
   return 0;
@@ -445,9 +445,9 @@

   handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);

-  key = d->private->sg_buffer[2] & 0xf;
-  ASC = d->private->sg_buffer[12];
-  ASCQ = d->private->sg_buffer[13];
+  key = d->private_data->sg_buffer[2] & 0xf;
+  ASC = d->private_data->sg_buffer[12];
+  ASCQ = d->private_data->sg_buffer[13];

   if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
   return 1;
@@ -492,7 +492,7 @@
   if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1);

   {
-    unsigned char *b=d->private->sg_buffer;
+    unsigned char *b=d->private_data->sg_buffer;
     if(b[0])return(1); /* Handles only up to 256 bytes */
     if(b[6])return(1); /* Handles only up to 256 bytes */

@@ -604,8 +604,8 @@
 static unsigned int get_orig_sectorsize(cdrom_drive *d){
   if(mode_sense(d,12,0x01))return(-1);

-  d->orgdens = d->private->sg_buffer[4];
-  return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
+  d->orgdens = d->private_data->sg_buffer[4];
+  return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
 }

 /* switch CDROM scsi drives to given sector size  */
@@ -664,8 +664,8 @@
     return(-4);
   }

-  first=d->private->sg_buffer[2];
-  last=d->private->sg_buffer[3];
+  first=d->private_data->sg_buffer[2];
+  last=d->private_data->sg_buffer[3];
   tracks=last-first+1;

   if (last > MAXTRK || first > MAXTRK || last<0 || first<0) {
@@ -683,7 +683,7 @@
       return(-5);
     }
     {
-      scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
+      scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);

       d->disc_toc[i-first].bFlags=toc->bFlags;
       d->disc_toc[i-first].bTrack=i;
@@ -704,7 +704,7 @@
     return(-2);
   }
   {
-    scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
+    scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);

     d->disc_toc[i-first].bFlags=toc->bFlags;
     d->disc_toc[i-first].bTrack=0xAA;
@@ -738,7 +738,7 @@
   }

   /* copy to our structure and convert start sector */
-  tracks = d->private->sg_buffer[1];
+  tracks = d->private_data->sg_buffer[1];
   if (tracks > MAXTRK) {
     cderror(d,"003: CDROM reporting illegal number of tracks\n");
     return(-3);
@@ -754,33 +754,33 @@
       return(-5);
     }

-    d->disc_toc[i].bFlags = d->private->sg_buffer[10];
+    d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
     d->disc_toc[i].bTrack = i + 1;

     d->disc_toc[i].dwStartSector= d->adjust_ssize *
-	(((signed char)(d->private->sg_buffer[2])<<24) |
-	 (d->private->sg_buffer[3]<<16)|
-	 (d->private->sg_buffer[4]<<8)|
-	 (d->private->sg_buffer[5]));
+	(((signed char)(d->private_data->sg_buffer[2])<<24) |
+	 (d->private_data->sg_buffer[3]<<16)|
+	 (d->private_data->sg_buffer[4]<<8)|
+	 (d->private_data->sg_buffer[5]));
   }

   d->disc_toc[i].bFlags = 0;
   d->disc_toc[i].bTrack = i + 1;
-  memcpy (&foo, d->private->sg_buffer+2, 4);
-  memcpy (&bar, d->private->sg_buffer+6, 4);
+  memcpy (&foo, d->private_data->sg_buffer+2, 4);
+  memcpy (&bar, d->private_data->sg_buffer+6, 4);
   d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
 						    be32_to_cpu(bar));

   d->disc_toc[i].dwStartSector= d->adjust_ssize *
-    ((((signed char)(d->private->sg_buffer[2])<<24) |
-      (d->private->sg_buffer[3]<<16)|
-      (d->private->sg_buffer[4]<<8)|
-      (d->private->sg_buffer[5]))+
+    ((((signed char)(d->private_data->sg_buffer[2])<<24) |
+      (d->private_data->sg_buffer[3]<<16)|
+      (d->private_data->sg_buffer[4]<<8)|
+      (d->private_data->sg_buffer[5]))+

-     ((((signed char)(d->private->sg_buffer[6])<<24) |
-       (d->private->sg_buffer[7]<<16)|
-       (d->private->sg_buffer[8]<<8)|
-       (d->private->sg_buffer[9]))));
+     ((((signed char)(d->private_data->sg_buffer[6])<<24) |
+       (d->private_data->sg_buffer[7]<<16)|
+       (d->private_data->sg_buffer[8]<<8)|
+       (d->private_data->sg_buffer[9]))));

   d->cd_extra = FixupTOC(d,tracks+1);
@@ -817,7 +817,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -836,7 +836,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -854,7 +854,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -872,7 +872,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -890,7 +890,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -908,7 +908,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -922,7 +922,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -936,7 +936,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -950,7 +950,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -964,7 +964,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -978,7 +978,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -992,7 +992,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -1026,7 +1026,7 @@

   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -1039,7 +1039,7 @@

   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -1052,7 +1052,7 @@

   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }

@@ -1275,7 +1275,7 @@
 static int count_2352_bytes(cdrom_drive *d){
   long i;
   for(i=2351;i>=0;i--)
-    if(d->private->sg_buffer[i]!=(unsigned char)'\177')
+    if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
       return(((i+3)>>2)<<2);

   return(0);
@@ -1284,7 +1284,7 @@
 static int verify_nonzero(cdrom_drive *d){
   long i,flag=0;
   for(i=0;i<2352;i++)
-    if(d->private->sg_buffer[i]!=0){
+    if(d->private_data->sg_buffer[i]!=0){
       flag=1;
       break;
     }
@@ -1625,7 +1625,7 @@
   d->is_mmc=0;
   if(mode_sense(d,22,0x2A)==0){

-    b=d->private->sg_buffer;
+    b=d->private_data->sg_buffer;
     b+=b[3]+4;

     if((b[0]&0x3F)==0x2A){
@@ -1673,7 +1673,7 @@
     cderror(d,"008: Unable to identify CDROM model\n");
     return(NULL);
   }
-  return (d->private->sg_buffer);
+  return (d->private_data->sg_buffer);
 }

 int scsi_init_drive(cdrom_drive *d){
@@ -1742,8 +1742,8 @@
   check_cache(d);

   d->error_retry=1;
-  d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
-  d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
+  d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
+  d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
   d->report_all=1;
   return(0);
 }
--- cdparanoia-III-10.2/interface/test_interface.c
+++ cdparanoia-III-10.2/interface/test_interface.c
@@ -66,9 +66,9 @@
   if(!fd)fd=fdopen(d->cdda_fd,"r");

   if(begin<lastread)
-    d->private->last_milliseconds=20;
+    d->private_data->last_milliseconds=20;
   else
-    d->private->last_milliseconds=sectors;
+    d->private_data->last_milliseconds=sectors;

 #ifdef CDDA_TEST_UNDERRUN
   sectors-=1;


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>cdparanoia</Name>
        <Homepage>http://www.xiph.org/paranoia/</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>app:console</IsA>
        <IsA>library</IsA>
        An advanced CDDA reader with error correction
        <Description>cdparanoia is an advanced CDDA (audio CD) reader with error correction.</Description>
        <Archive sha1sum="1901e20d3a370ca6afa4c76a9ef30d3f03044320" type="targz">http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-10.2.src.tgz</Archive>
        <Patches>
            <Patch level="1">build_system.patch</Patch>
            <Patch level="1">cdparanoia-III-05-gcc4.3.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>cdparanoia</Name>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="man">/usr/share/man</Path>
        </Files>
    </Package>

    <Package>
        <Name>cdparanoia-devel</Name>
        Development files for cdparanoia
        <RuntimeDependencies>
            <Dependency release="current">cdparanoia</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-02-16</Date>
            <Version>3.10.2</Version>
            <Comment>Rebuild.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>3.10.2</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2014-05-20</Date>
            <Version>3.10.2</Version>
            <Comment>First release</Comment>
            <Name>Serdar Soytetir</Name>
            <Email>kaptan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>cdparanoia</Name>
        Hata düzeltme fonksiyonlu gelişmiş bir CDDA okuyucu
    </Source>

    <Package>
        <Name>cdparanoia-devel</Name>
        cdparanoia için geliştirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

def setup():
    shelltools.export("CXXFLAGS", "%s -DUSE_STATIC_CONF" % get.CFLAGS())

    autotools.autoconf()
    autotools.configure("--without-scglib")

def build():
    autotools.make()

def install():
    autotools.install()
    pisitools.dodoc("AUTHORS", "CREDITS", "ChangeLog", "NEWS", "README*")


code:
--- cdrdao-1.2.3rc2/acinclude.m4.orig	2009-02-21 11:30:02.000000000 +0100
+++ cdrdao-1.2.3rc2/acinclude.m4	2009-05-22 22:38:15.448770972 +0200
@@ -1,5 +1,49 @@
+dnl AM_GCONF_SOURCE_2
+dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
+dnl  (i.e. pass to gconftool-2
+dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
+dnl  you should install foo.schemas files
+dnl
+
+AC_DEFUN([AM_GCONF_SOURCE_2],
+[
+  if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
+    GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+  else
+    GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
+  fi
+
+  AC_ARG_WITH([gconf-source],
+	      AC_HELP_STRING([--with-gconf-source=sourceaddress],
+			     [Config database for installing schema files.]),
+	      [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
+
+  AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
+  AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
+
+  if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
+    GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
+  fi
+
+  AC_ARG_WITH([gconf-schema-file-dir],
+	      AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
+			     [Directory for installing schema files.]),
+	      [GCONF_SCHEMA_FILE_DIR="$withval"],)
+
+  AC_SUBST(GCONF_SCHEMA_FILE_DIR)
+  AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
+
+  AC_ARG_ENABLE(schemas-install,
+  	AC_HELP_STRING([--disable-schemas-install],
+		       [Disable the schemas installation]),
+     [case ${enableval} in
+       yes|no) ;;
+       *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;;
+      esac])
+  AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
+])
 # Configure paths for GTK--
 # Erik Andersen	30 May 1998
 # Modified by Tero Pulkkinen (added the compiler checks... I hope they work..)

 dnl Check and configure include and link paths for lame library


code:
diff -up wrk/dao/CdrDriver.cc.wrk wrk/dao/CdrDriver.cc
--- wrk/dao/CdrDriver.cc.wrk	2016-02-16 14:06:23.158392345 +0100
+++ wrk/dao/CdrDriver.cc	2016-02-16 14:07:11.654597254 +0100
@@ -495,7 +495,7 @@ unsigned char CdrDriver::syncPattern[12]
   0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0
 };

-char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };
+unsigned char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };

 /* Maps a string to the corresponding driver option value
diff -up wrk/dao/CdrDriver.h.wrk wrk/dao/CdrDriver.h
--- wrk/dao/CdrDriver.h.wrk	2016-02-16 14:21:18.454174199 +0100
+++ wrk/dao/CdrDriver.h	2016-02-16 14:21:42.381275268 +0100
@@ -440,7 +440,7 @@ protected:
   bool fullBurn_;

   static unsigned char syncPattern[12];
-  static char REMOTE_MSG_SYNC_[4];
+  static unsigned char REMOTE_MSG_SYNC_[4];

   static int speed2Mult(int);
   static int mult2Speed(int);


code:
diff -up cdrdao-1.2.3/dao/ScsiIf-linux.cc.stat cdrdao-1.2.3/dao/ScsiIf-linux.cc
--- cdrdao-1.2.3/dao/ScsiIf-linux.cc.stat	2010-01-20 20:11:36.000000000 +0100
+++ cdrdao-1.2.3/dao/ScsiIf-linux.cc	2010-01-20 20:14:07.000000000 +0100
@@ -19,6 +19,9 @@

 #include <config.h>

+#include <sys/types.h>
+#include <sys/stat.h>
+
 #include <stdio.h>
 #include <fcntl.h>
 #include <unistd.h>


code:
--- cdrdao/dao/main.cc~	2009-04-16 15:34:27.000000000 +0200
+++ cdrdao/dao/main.cc	2009-04-16 15:34:38.000000000 +0200
@@ -207,7 +207,7 @@

 static void printVersion()
 {
-  log_message(2, "Cdrdao version %s - (C) Andreas Mueller <andreas@daneb.de>",
+  log_message(0, "Cdrdao version %s - (C) Andreas Mueller <andreas@daneb.de>",
 	  VERSION);

   std::list<std::string> list;


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>cdrdao</Name>
        <Homepage>http://cdrdao.sourceforge.net/</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>app:console</IsA>
        <Summary>Burn CDs in disk-at-once mode</Summary>
        <Description>cdrdao records audio or data CD-Rs in disk-at-once (DAO) mode based on a textual description of the CD contents.</Description>
        <Archive sha1sum="70d6547795a1342631c7ab56709fd1940c2aff9f" type="tarbz2">mirrors://sourceforge/cdrdao/cdrdao-1.2.3.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency>lame-devel</Dependency>
            <Dependency>libao-devel</Dependency>
            <Dependency>libmad-devel</Dependency>
            <Dependency>libvorbis-devel</Dependency>
        </BuildDependencies>
        <Patches>
            <Patch level="1">cdrdao-1.2.3-version.patch</Patch>
            <Patch level="1">cdrdao-1.2.3-stat.patch</Patch>
            <Patch level="1">cdrdao-1.2.3-autoconf-update.patch</Patch>
            <Patch level="1">cdrdao-1.2.3-narrowing.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>cdrdao</Name>
        <RuntimeDependencies>
            <Dependency>lame</Dependency>
            <Dependency>libmad</Dependency>
            <Dependency>libvorbis</Dependency>
            <Dependency>libao</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="config">/usr/share/cdrdao</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="man">/usr/share/man</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-04-14</Date>
            <Version>1.2.3</Version>
            <Comment>Rebuild with new toolchain</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.2.3</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-19</Date>
            <Version>1.2.3</Version>
            <Comment>First release</Comment>
            <Name>Pisi Linux Admins</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>cdrdao</Name>
        <Summary xml:lang="tr">CDlerinizi DAO modunda yazar</Summary>
    </Source>
</PISI>


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt

from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import cmaketools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get

def setup():
    shelltools.unlinkDir("libparanoia")

    cmaketools.configure("-DBUILD_SHARED_LIBS:BOOL=ON")

def build():
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s PREFIX=/usr" % (get.installDIR()))

    pisitools.dosym("/usr/bin/wodim", "usr/bin/cdrecord")
    pisitools.dosym("/usr/bin/readom", "usr/bin/readcd")
    pisitools.dosym("/usr/bin/genisoimage", "usr/bin/mkisofs")
    pisitools.dosym("/usr/bin/genisoimage", "usr/bin/mkhybrid")
    pisitools.dosym("/usr/bin/icedax", "usr/bin/cdda2wav")

    pisitools.dosym("/usr/share/man/man1/wodim.1", "usr/share/man/man1/cdrecord.1")
    pisitools.dosym("/usr/share/man/man1/readom.1", "usr/share/man/man1/readcd.1")
    pisitools.dosym("/usr/share/man/man1/genisoimage.1", "usr/share/man/man1/mkisofs.1")
    pisitools.dosym("/usr/share/man/man1/genisoimage.1", "usr/share/man/man1/mkhybrid.1")
    pisitools.dosym("/usr/share/man/man1/icedax.1", "usr/share/man/man1/cdda2wav.1")

    pisitools.dodoc("ABOUT", "Changelog", "COPYING", "FAQ", "FORK", "START", "TODO", "VERSION")


code:
diff -up cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix cdrkit-1.1.10/genisoimage/genisoimage.c
--- cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix	2010-01-20 11:05:05.000000000 +0100
+++ cdrkit-1.1.10/genisoimage/genisoimage.c	2010-01-20 11:21:16.144098749 +0100
@@ -47,6 +47,7 @@

 #include <mconfig.h>
 #include "genisoimage.h"
+#include "checksum.h"
 #include "iso9660.h"
 #include <errno.h>
 #include <timedefs.h>


code:
diff -up cdrkit-1.1.11/CMakeLists.txt.cmakewarn cdrkit-1.1.11/CMakeLists.txt
--- cdrkit-1.1.11/CMakeLists.txt.cmakewarn	2012-07-31 13:11:10.075500531 +0200
+++ cdrkit-1.1.11/CMakeLists.txt	2012-07-31 13:11:41.069108287 +0200
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 2.8)
+cmake_policy(SET CMP0015 OLD)
 PROJECT (cdrkit C)
 SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)


code:
diff -up wrk/libusal/scsi-linux-sg.c.wrk wrk/libusal/scsi-linux-sg.c
--- wrk/libusal/scsi-linux-sg.c.wrk	2015-05-29 13:30:41.088896572 +0200
+++ wrk/libusal/scsi-linux-sg.c	2015-05-29 13:38:25.776303388 +0200
@@ -509,7 +509,9 @@ usalo_open(SCSI *usalp, char *device)
 		/* scan and maybe keep one open, sg_setup decides */
 #define HDX 0
 #define SCD 1
-#define SG 2
+/* second scd option included because of Fedora naming convention /dev/srN */
+#define SCD2 2
+#define SG 3
 		int h;
 /*
 retry_scan_open:
@@ -533,6 +535,15 @@ retry_scan_open:
 						first=0;
 						last=255;
 						break;
+					}
+				case(SCD2):
+					{
+						if(!check_linux_26())
+							continue;
+						pattern="/dev/sr%d";
+						first=0;
+						last=255;
+						break;
 					}
 				case(SG):
 					{


code:
diff -up cdrkit-1.1.11/wodim/wodim.1.dvdman cdrkit-1.1.11/wodim/wodim.1
--- cdrkit-1.1.11/wodim/wodim.1.dvdman	2011-06-08 14:49:00.073093571 +0200
+++ cdrkit-1.1.11/wodim/wodim.1	2011-06-08 14:50:59.707093540 +0200
@@ -835,49 +835,33 @@ newer ones) still implement the Sony pro
 not yet become a problem to use this driver for all Sony drives. If you find
 a newer Sony drive that does not work with this driver, please report.
 .TP
-.B mmc_dvd
+.B mmc_mdvd
 The generic SCSI-3/mmc-2 DVD-R/DVD-RW driver is auto-selected whenever
 .B wodim
 finds a MMC-2 or MMC-3 compliant drive that supports to write DVDs and
 an appropriate medium is loaded.
-There is no Track At Once mode for DVD writers.
-.TP
-.B mmc_dvdplus
-The generic SCSI-3/mmc-3 DVD+R/DVD+RW driver is auto-selected whenever
-one of the DVD+ media types that are incompatible to each other is found.
-It checks media and then
-branches to the driver that matches the current medium.
-.TP
-.B mmc_dvdplusr
-The generic SCSI-3/mmc-3 DVD+R driver is auto-selected whenever
-a DVD+R medium is found in an appropriate writer.
 Note that for unknown reason, the DVD-Plus alliance does not
-like that there is a simulation mode for DVD+R media.
-The author of
-.B wodim
-tries to convince manufacturers to implement a simulation mode for DVD+R
-and implement support.
-DVD+R only supports one write mode that is somewhere between Track At Once
-and Packet writing; this mode is selected in
+like that there is a simulation mode for DVD+R and DVD+RW media nor a way
+to erase DVD+RW media.
+DVD+R and DVD+RW only supports one write mode that is somewhere between
+Track At Once and Packet writing; this mode is selected in
 .B wodim
 via a the
 .BR \-dao / \-sao
 option.
-.TP
-.B mmc_dvdplusrw
-The generic SCSI-3/mmc-3 DVD+RW driver is auto-selected whenever
-a DVD+RW medium is found in an appropriate writer.
-As DVD+RW media needs to be formatted before its first use, wodim
-auto-detects this media state and performs a format before it starts
-to write.
-Note that for unknown reason, the DVD-Plus alliance does not
-like that there is a simulation mode nor a way to erase DVD+RW media.
-DVD+RW only supports one write mode that is close to
-Packet writing; this mode is selected in
+As DVD+RW media needs to be formatted before its first use,
 .B wodim
-via a the
-.BR \-dao / \-sao
-option.
+auto-detects this media state and performs a format before it starts
+to write.
+.sp
+Note: If you have any problems during burning DVDs using
+.BR wodim ,
+please consider
+.B growisofs
+from package
+.BR dvd+rw-tools ,
+which often works better
+in these cases.
 .TP
 .B cw_7501
 The driver for Matsushita/Panasonic CW-7501 is auto-selected when


code:
diff -up cdrkit-1.1.11/wodim/drv_mmc.c.format cdrkit-1.1.11/wodim/drv_mmc.c
--- cdrkit-1.1.11/wodim/drv_mmc.c.format	2011-05-18 16:49:14.591822130 +0200
+++ cdrkit-1.1.11/wodim/drv_mmc.c	2011-05-18 16:49:14.596822130 +0200
@@ -1507,6 +1507,11 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
 	dstat_t	*dsp = dp->cdr_dstat;

 	struct track_info track_info;
+
+	extern char *buf;
+	struct disk_info *dip;
+	int profile;
+
     if(lverbose)
         printf("HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.\n");
 	/* if(getdisktype_mmc(usalp, dp)<0)
@@ -1521,6 +1526,18 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
 	dsp->ds_disktype&= ~DT_CD;
 	dsp->ds_disktype|= DT_DVD;

+	profile = get_curprofile(usalp);
+	if (profile == 0x1A) {
+		dip = (struct disk_info *)buf;
+		if (get_diskinfo(usalp, dip) < 0)
+			return (-1);
+		if (dip->disk_status == DS_EMPTY) {	/* Unformatted	    */
+			dsp->ds_flags |= DSF_NEED_FORMAT;
+			if(lverbose)
+				printf("The medium is empty, it will be auto formatted.\n");
+		}
+	}
+
 	return (ret);

 }
diff -up cdrkit-1.1.11/wodim/scsi_cdr.c.format cdrkit-1.1.11/wodim/scsi_cdr.c
--- cdrkit-1.1.11/wodim/scsi_cdr.c.format	2011-05-18 16:49:14.601822130 +0200
+++ cdrkit-1.1.11/wodim/scsi_cdr.c	2011-05-18 16:49:14.600822130 +0200
@@ -1328,7 +1328,7 @@ scsi_format(SCSI *usalp, caddr_t addr, i
 	}
 	sleep(10);
 	printf("\rFormating in progress: 100.00 %% done.        \n");
-	if (pid) exit (0);
+	if (pid > 0) exit (0);
 	return ret;
 }

diff -up cdrkit-1.1.11/wodim/wodim.c.format cdrkit-1.1.11/wodim/wodim.c
--- cdrkit-1.1.11/wodim/wodim.c.format	2011-05-18 16:49:14.584822130 +0200
+++ cdrkit-1.1.11/wodim/wodim.c	2011-05-18 17:21:59.510821630 +0200
@@ -946,6 +946,40 @@ int main(int argc, char *argv[])
 		print_toc(usalp, dp);
 		comexit(0);
 	}
+
+	if ((flags & F_FORMAT) || (dp->cdr_dstat->ds_flags & DSF_NEED_FORMAT)) {
+		printf("wodim: media format asked\n");
+		/*
+		* Do not abort if OPC failes. Just give it a chance
+		* for better laser power calibration than without OPC.
+		*
+		* Ricoh drives return with a vendor unique sense code.
+		* This is most likely because they refuse to do OPC
+		* on a non blank media.
+		*/
+		usalp->silent++;
+		do_opc(usalp, dp, flags);
+		usalp->silent--;
+		wait_unit_ready(usalp, 120);
+		if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+			errmsg("Cannot get start time\n");
+
+		if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
+			errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
+			comexit(EX_BAD);
+		}
+		if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
+			errmsg("Cannot get format time\n");
+		if (lverbose)
+			prtimediff("Formatting time: ", &starttime, &fixtime);
+
+		if (!wait_unit_ready(usalp, 240) || tracks == 0) {
+			comexit(0);
+		}
+		if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+			errmsg("Cannot get start time\n");
+	}
+
 #ifdef	XXX
 	if ((*dp->cdr_check_session)() < 0) {
 		comexit(EX_BAD);
@@ -1230,38 +1264,6 @@ int main(int argc, char *argv[])
 			comexit(0);
 		}
 	}
-	if (flags & F_FORMAT) {
-		printf("wodim: media format asked\n");
-		/*
-		* Do not abort if OPC failes. Just give it a chance
-		* for better laser power calibration than without OPC.
-		*
-		* Ricoh drives return with a vendor unique sense code.
-		* This is most likely because they refuse to do OPC
-		* on a non blank media.
-		*/
-		usalp->silent++;
-		do_opc(usalp, dp, flags);
-		usalp->silent--;
-		wait_unit_ready(usalp, 120);
-		if (gettimeofday(&starttime, (struct timezone *)0) < 0)
-			errmsg("Cannot get start time\n");
-
-		if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
-			errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
-			comexit(EX_BAD);
-		}
-		if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
-			errmsg("Cannot get format time\n");
-		if (lverbose)
-			prtimediff("Formatting time: ", &starttime, &fixtime);
-
-		if (!wait_unit_ready(usalp, 240) || tracks == 0) {
-			comexit(0);
-		}
-		if (gettimeofday(&starttime, (struct timezone *)0) < 0)
-			errmsg("Cannot get start time\n");
-	}
 	/*
 	* Reset start time so we will not see blanking time and
 	* writing time counted together.


code:
diff -up cdrkit-1.1.11/icedax/icedax.c.handler cdrkit-1.1.11/icedax/icedax.c
--- cdrkit-1.1.11/icedax/icedax.c.handler	2011-06-02 16:37:02.446206285 +0200
+++ cdrkit-1.1.11/icedax/icedax.c	2011-06-02 16:37:25.444206279 +0200
@@ -1054,7 +1054,7 @@ static void exit_wrapper(int status)

 	if (child_pid != 0) {
 		SCSI *usalp = get_scsi_p();
-		if (usalp->running) {
+		if (usalp && usalp->running) {
 			usalp->cb_fun = on_exitscsi;
 			usalp->cb_arg = (void *) (uintptr_t) status;
 		} else {


code:
diff -up wrk/genisoimage/genisoimage.1.wrk wrk/genisoimage/genisoimage.1
--- wrk/genisoimage/genisoimage.1.wrk	2017-01-04 15:58:13.697936687 +0100
+++ wrk/genisoimage/genisoimage.1	2017-01-04 16:08:22.411801026 +0100
@@ -115,7 +115,8 @@ is the path of the directory tree to be
 Multiple paths can be specified, and
 .B genisoimage
 will merge the files found in all of the specified path components to
-form the filesystem image.
+form the filesystem image. If an error is encountered while handling directory tree,
+only error messages are produced and the process is aborted - incomplete image is not created.
 .PP
 If the option
 .B \-graft\-points
@@ -180,6 +181,8 @@ in the
 file.
 .TP
 .BI \-A " application_id"
+.TP
+.BI \-appid " application_id"
 Specifies a text string that will be written into the volume header.
 This should describe the application that will be on the disc.  There
 is space for 128 characters.  Equivalent to
@@ -365,6 +368,8 @@ the Sun disk label will overlay the firs
 boot image.
 .TP
 .BI \-b " eltorito_boot_image"
+.TP
+.BI \-eltorito\-boot " eltorito_boot_image"
 Specifies the path and filename of the boot image to be used when making
 an El Torito bootable CD for x86 PCs. The pathname must be relative to
 the source path specified to
@@ -427,6 +432,8 @@ See the
 section for a description of this table.
 .TP
 .BI \-C " last_sess_start,next_sess_start"
+.TP
+.BI \-cdrecord\-params " last_sess_start,next_sess_start"
 This option is needed to create a CD Extra or the image of a second
 session or a higher-level session for a multisession disc.
 .B \-C
@@ -452,6 +459,8 @@ session on a CD Extra. This is a multise
 in the first session and an ISO9660 filesystem in the second session.
 .TP
 .BI \-c " boot_catalog"
+.TP
+.BI \-eltorito\-catalog " boot_catalog"
 Specifies the path and filename of the boot catalog, which is required
 for an El Torito bootable CD. The pathname must be relative to the source
 path specified to
@@ -488,6 +497,12 @@ For the parameter
 see the description of
 .BR \-M .
 .TP
+.BI \-checksum_algorithm_iso " alg1,alg2,..."
+Specify the checksum types desired for the output image.
+.TP
+.BI \-checksum_algorithm_template " alg1,alg2,..."
+Specify the checksum types desired for the output jigdo template.
+.TP
 .BI \-copyright " file"
 Specifies copyright information, typically a filename on the disc.
 There is space for 37 characters.  Equivalent to
@@ -497,12 +512,16 @@ in the
 file.
 .TP
 .B \-d
+.TP
+.B \-omit\-period
 Do not append a period to files that do not have one.
 .br
 This violates the ISO9660 standard, but it happens to work on many systems.
 Use with caution.
 .TP
 .B \-D
+.TP
+.B \-disable\-deep\-relocation
 Do not use deep directory relocation, and instead just pack them in the
 way we see them.
 .br
@@ -510,6 +529,9 @@ If ISO9660:1999 has not been selected,
 this violates the ISO9660 standard, but it happens to work on many systems.
 Use with caution.
 .TP
+.B \-debug
+Set debug flag.
+.TP
 .BI \-dir\-mode " mode"
 Overrides the mode of directories used to create the image to
 .IR mode ,
@@ -535,7 +557,14 @@ another directory
 needs to include all needed files (filenames must be all caps) for a
 compliant DVD-Video filesystem.
 .TP
+.BI \-e " efi_boot_file"
+.TP
+.BI \-efi\-boot " efi_boot_file"
+Set EFI boot image name.
+.TP
 .B \-f
+.TP
+.B \-follow\-links
 Follow symbolic links when generating the filesystem.  When this option is not
 in use, symbolic links will be entered using Rock Ridge if enabled, otherwise
 they will be ignored.
@@ -740,6 +769,8 @@ See the
 section below for more details.
 .TP
 .B \-l
+.TP
+.B \-full\-iso9660\-filenames
 Allow full 31-character filenames.  Normally the ISO9660 filename will be in an
 8.3 format which is compatible with MS-DOS, even though the ISO9660 standard
 allows filenames of up to 31 characters.  If you use this option, the disc may
@@ -870,6 +901,8 @@ with
 .BR \-C .
 .TP
 .B \-N
+.TP
+.B \-omit\-version\-number
 Omit version numbers from ISO9660 filenames.
 .br
 This violates the ISO9660 standard, but no one really uses the
@@ -967,6 +1000,8 @@ in the
 file.
 .TP
 .BI \-p " preparer_id"
+.TP
+.BI \-preparer " preparer_id"
 Specifies a text string that will be written into the volume header.
 This should describe the preparer of the CD-ROM, usually with a mailing
 address and phone number.  There is space for 128 characters.
@@ -1008,10 +1043,14 @@ This makes
 even less verbose.  No progress output will be provided.
 .TP
 .B \-R
+.TP
+.B \-rock
 Generate SUSP and RR records using the Rock Ridge protocol to further describe
 the files on the ISO9660 filesystem.
 .TP
 .B \-r
+.TP
+.B \-rational\-rock
 This is like the \-R option, but file ownership and modes are set to
 more useful values.  The uid and gid are set to zero, because they are
 usually only useful on the author's system, and not useful to the
@@ -1092,6 +1131,11 @@ intentionally. Accessing several older v
 support by the operating system to choose which sessions are to be
 mounted.
 .TP
+.BI \-s " sector type"
+.TP
+.BI \-sectype " sector type"
+Set output sector type to e.g. data/xa1/raw.
+ .TP
 .BI \-sort " sort_file"
 Sort file locations on the media. Sorting is controlled by a file that
 contains pairs of filenames and sorting offset weighting.
@@ -1213,6 +1257,8 @@ in the
 file.
 .TP
 .B \-T
+.TP
+.B \-translation\-table
 Generate a file
 .I TRANS.TBL
 in each directory on the CD-ROM, which can be used
@@ -1262,6 +1308,8 @@ to
 This option is the default on VMS.
 .TP
 .B \-U
+.TP
+.B \-untranslated\-filenames
 Allows "untranslated" filenames, completely violating the ISO9660 standards
 described above.  Enables the following flags:
 .B \-d \-l \-N \-allow\-leading\-dots \-relaxed\-filenames
@@ -1333,6 +1381,8 @@ must be specified before
 on each command line.
 .TP
 .B \-v
+.TP
+.B \-verbose
 Verbose execution. If given twice on the command line, extra debug information
 will be printed.
 .TP
@@ -1341,7 +1391,15 @@ Identical to
 .B \-m
 .IR glob .
 .TP
+.B \-XA
+Generate XA directory attruibutes.
+.TP
+.B \-xa
+Generate rationalized XA directory attruibutes.
+.TP
 .B \-z
+.TP
+.B \-transparent\-compression
 Generate special
 .I RRIP
 records for transparently compressed files.


code:
diff -up wrk/genisoimage/jte.c.wrk wrk/genisoimage/jte.c
--- wrk/genisoimage/jte.c.wrk	2013-02-22 13:24:47.722196877 +0100
+++ wrk/genisoimage/jte.c	2013-02-25 12:41:45.136653487 +0100
@@ -280,7 +280,7 @@ extern int list_file_in_jigdo(char *file
     if (!jtemplate_out)
         return 0;

-    memset(md5, 0, sizeof(md5));
+    memset(md5, 0, 16);

     /* Cheaper to check file size first */
     if (size < jte_min_size)
diff -up wrk/genisoimage/md5.c.wrk wrk/genisoimage/md5.c
--- wrk/genisoimage/md5.c.wrk	2013-02-22 13:15:18.210866321 +0100
+++ wrk/genisoimage/md5.c	2013-02-22 13:15:29.979935133 +0100
@@ -183,7 +183,7 @@ mk_MD5Final (unsigned char digest[16], s
 	putu32(ctx->buf[1], digest + 4);
 	putu32(ctx->buf[2], digest + 8);
 	putu32(ctx->buf[3], digest + 12);
-	memset(ctx, 0, sizeof(ctx));	/* In case it's sensitive */
+	memset(ctx, 0, sizeof(*ctx));	/* In case it's sensitive */
 }

 /* The four core functions - F1 is optimized somewhat */
diff -up wrk/libedc/edcspeed.c.wrk wrk/libedc/edcspeed.c
--- wrk/libedc/edcspeed.c.wrk	2013-02-22 10:45:33.353219110 +0100
+++ wrk/libedc/edcspeed.c	2013-02-22 10:46:52.497686387 +0100
@@ -35,7 +35,8 @@ static int encspeed()
 	secs = 10;
 	end = 75*1000000 * secs;

-	memset(sect, 0, sizeof(sect));
+	//faulty and unneccessary, immediately rewritten again
+	//memset(sect, 0, sizeof(sect));
 	for (i=0; i < 2352; ) {
 		sect[i++] = 'J';
 		sect[i++] = 'S';


code:
diff -Nuar cdrkit-1.1.11.orig/CMakeLists.txt cdrkit-1.1.11/CMakeLists.txt
--- cdrkit-1.1.11.orig/CMakeLists.txt	2017-03-29 12:59:41.047130027 +0300
+++ cdrkit-1.1.11/CMakeLists.txt	2017-03-29 13:00:50.198131670 +0300
@@ -1,3 +1,3 @@
 PROJECT (cdrkit C)
-SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
+SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)

diff -Nuar cdrkit-1.1.11.orig/icedax/CMakeLists.txt cdrkit-1.1.11/icedax/CMakeLists.txt
--- cdrkit-1.1.11.orig/icedax/CMakeLists.txt	2017-03-29 12:59:41.036130027 +0300
+++ cdrkit-1.1.11/icedax/CMakeLists.txt	2017-03-29 13:02:45.030134400 +0300
@@ -1,8 +1,9 @@
 PROJECT (icedax C)
-INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
+INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
 include(../include/AddScgBits.cmake)
 include(../include/AddSchilyBits.cmake)
 include(../include/AddNetworkBits.cmake)
+INCLUDE (CheckLibraryExists)

 FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h)
 IF(HAVE_SYS_SOUNDCARD_H)
@@ -18,12 +19,20 @@
    LIST(APPEND EXTRA_LIBS "ossaudio")
 ENDIF(HAVE_LIBOSSAUDIO)

-LIST(APPEND EXTRA_LIBS  paranoia)
+CHECK_INCLUDE_FILES(cdda_interface.h HAVE_CDDA_INTERFACE_H)
+CHECK_LIBRARY_EXISTS (cdda_paranoia paranoia_init "" HAVE_LIBPARANOIA)
+IF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+   LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface)
+ELSE(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+   MESSAGE(FATAL_ERROR "You need cdparanoia library installed")
+ENDIF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+
+LIST(APPEND EXTRA_LIBS)
 IF (WIN32)
 	LIST(APPEND EXTRA_LIBS winmm)
 ENDIF (WIN32)

-LINK_DIRECTORIES(../librols ../libusal  ../libparanoia)
+LINK_DIRECTORIES(../librols ../libusal)
 ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c)
 TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS})
 SET_TARGET_PROPERTIES(icedax PROPERTIES  SKIP_BUILD_RPATH TRUE)
diff -Nuar cdrkit-1.1.11.orig/icedax/global.h cdrkit-1.1.11/icedax/global.h
--- cdrkit-1.1.11.orig/icedax/global.h	2017-03-29 12:59:41.036130027 +0300
+++ cdrkit-1.1.11/icedax/global.h	2017-03-29 13:04:00.792136200 +0300
@@ -17,7 +17,8 @@
 #include "md5.h"
 #endif
 #ifdef	USE_PARANOIA
-#include "cdda_paranoia.h"
+#include <cdda_interface.h>
+#include <cdda_paranoia.h>
 #endif

 typedef struct index_list
@@ -102,10 +103,10 @@

 	struct paranoia_parms_t
 	{
-	        Ucbit	disable_paranoia:1;
-	        Ucbit	disable_extra_paranoia:1;
-	        Ucbit	disable_scratch_detect:1;
-	        Ucbit	disable_scratch_repair:1;
+	        char	disable_paranoia:1;
+	        char	disable_extra_paranoia:1;
+	        char	disable_scratch_detect:1;
+	        char	disable_scratch_repair:1;
 		int	retries;
 		int	overlap;
 		int	mindynoverlap;
diff -Nuar cdrkit-1.1.11.orig/icedax/icedax.c cdrkit-1.1.11/icedax/icedax.c
--- cdrkit-1.1.11.orig/icedax/icedax.c	2017-03-29 12:59:41.036130027 +0300
+++ cdrkit-1.1.11/icedax/icedax.c	2017-03-29 13:03:35.216135592 +0300
@@ -120,6 +120,10 @@
 #ifdef	USE_LAME
 #include "mp3.h"	/* mp3 file handling */
 #endif
+#ifdef	USE_PARANOIA
+#include <cdda_interface.h>
+#include <cdda_paranoia.h>
+#endif
 #include "interface.h"  /* low level cdrom interfacing */
 #include "icedax.h"
 #include "resample.h"
@@ -128,9 +132,6 @@
 #include "ringbuff.h"
 #include "global.h"
 #include "exitcodes.h"
-#ifdef	USE_PARANOIA
-#include "cdda_paranoia.h"
-#endif
 #include "defaults.h"

 static void RestrictPlaybackRate(long newrate);
@@ -800,7 +801,7 @@
   global.useroverlap = -1;      /* amount of overlapping sectors user override */
   global.need_hostorder = 0;	/* processing needs samples in host endianess */
   global.in_lendian = -1;	/* input endianess from SetupSCSI() */
-  global.outputendianess = NONE; /* user specified output endianess */
+  global.outputendianess = NONE_EN; /* user specified output endianess */
   global.findminmax  =  0;	/* flag find extrem amplitudes */
 #ifdef HAVE_LIMITS_H
   global.maxamp[0] = INT_MIN;	/* maximum amplitude */
@@ -2418,7 +2419,7 @@
   if (bulk == -1) bulk = 0;

   global.need_big_endian = global.audio_out->need_big_endian;
-  if (global.outputendianess != NONE)
+  if (global.outputendianess != NONE_EN)
     global.need_big_endian = global.outputendianess == BIG;

   if (global.no_file) global.fname_base[0] = '\0';
@@ -2602,7 +2603,7 @@
     fputs( ", soundcard", stderr );
 #endif
 #if defined USE_PARANOIA
-    fputs( ", libparanoia", stderr );
+    fputs( ", libcdda_paranoia", stderr );
 #endif
     fputs( " support\n", stderr );
   }
@@ -2892,8 +2893,28 @@
 #ifdef	USE_PARANOIA
 	if (global.paranoia_selected) {
 		long paranoia_mode;
+		cdrom_drive *tmpdrive;
+		usal_close(get_scsi_p());

-		global.cdp = paranoia_init(get_scsi_p(), global.nsectors);
+		tmpdrive = cdda_identify(global.dev_name, 0, NULL);
+		if (!tmpdrive)
+		{
+			fputs("Can't identify disc\n", stderr);
+                	return 1;
+		}
+
+		if(global.nsectors)
+		{
+		  tmpdrive->nsectors = global.nsectors;
+		  tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
+		}
+		if (cdda_open(tmpdrive) != 0)
+		{
+		  fputs("Can't open disc\n", stderr);
+		  cdda_close(tmpdrive);
+		  return 1;
+		}
+		global.cdp = paranoia_init(tmpdrive);

 		if (global.paranoia_parms.overlap >= 0) {
 			int	overlap = global.paranoia_parms.overlap;
@@ -2902,17 +2923,7 @@
 				overlap = global.nsectors - 1;
 			paranoia_overlapset(global.cdp, overlap);
 		}
-		/*
-		 * Default to a  minimum of dynamic overlapping == 0.5 sectors.
-		 * If we don't do this, we get the default from libparanoia
-		 * which is approx. 0.1.
-		 */
-		if (global.paranoia_parms.mindynoverlap < 0)
-			paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1);
-		paranoia_dynoverlapset(global.cdp,
-			global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS,
-			global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS);
-
+
 		paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;

 		if (global.paranoia_parms.disable_paranoia) {
diff -Nuar cdrkit-1.1.11.orig/icedax/icedax.h cdrkit-1.1.11/icedax/icedax.h
--- cdrkit-1.1.11.orig/icedax/icedax.h	2017-03-29 12:59:41.036130027 +0300
+++ cdrkit-1.1.11/icedax/icedax.h	2017-03-29 13:00:50.199131670 +0300
@@ -41,7 +41,7 @@

 /* Endianess */
 #define GUESS (-2)
-#define NONE (-1)
+#define NONE_EN (-1)
 #define LITTLE 0
 #define BIG 1

diff -Nuar cdrkit-1.1.11.orig/icedax/interface.c cdrkit-1.1.11/icedax/interface.c
--- cdrkit-1.1.11.orig/icedax/interface.c	2017-03-29 12:59:41.035130027 +0300
+++ cdrkit-1.1.11/icedax/interface.c	2017-03-29 13:00:50.199131670 +0300
@@ -116,7 +116,7 @@
 int		(*StopPlay)(SCSI *usalp);
 void		(*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal);

-#if	defined	USE_PARANOIA
+#if	0 //defined	USE_PARANOIA
 long cdda_read(void *d, void *buffer, long beginsector, long sectors);

 long cdda_read(void *d, void *buffer, long beginsector, long sectors)
diff -Nuar cdrkit-1.1.11.orig/icedax/toc.c cdrkit-1.1.11/icedax/toc.c
--- cdrkit-1.1.11.orig/icedax/toc.c	2017-03-29 12:59:41.037130027 +0300
+++ cdrkit-1.1.11/icedax/toc.c	2017-03-29 13:00:50.200131670 +0300
@@ -379,8 +379,7 @@
 static void emit_cdindex_form(char *fname_baseval);
 #endif

-
-typedef struct TOC {	/* structure of table of contents (cdrom) */
+typedef struct TOC_t {	/* structure of table of contents (cdrom) */
 	unsigned char reserved1;
 	unsigned char bFlags;
 	unsigned char bTrack;
@@ -391,8 +390,7 @@
 	int frms;
 	unsigned char ISRC[16];
 	int	SCMS;
-} TOC;
-
+} TOC_t;

 /* Flags contains two fields:
     bits 7-4 (ADR)
@@ -432,7 +430,7 @@
 	int index;
 	int startindex;
 	void        (*reset)(struct iterator *this);
-	struct TOC *(*getNextTrack)(struct iterator *this);
+	struct TOC_t *(*getNextTrack)(struct iterator *this);
 	int         (*hasNextTrack)(struct iterator *this);
 };

@@ -518,7 +516,7 @@
 		    InitIterator(&i, 1);

 	    while (i.hasNextTrack(&i)) {
-		    struct TOC *p = i.getNextTrack(&i);
+		    struct TOC_t *p = i.getNextTrack(&i);
 		    if (IS__AUDIO(p)) count_audio_tracks++;
 	    }

@@ -733,7 +731,7 @@
   fprintf( cddb_form, "# Track frame offsets:\n#\n");

   while (i.hasNextTrack(&i)) {
-	  struct TOC *p = i.getNextTrack(&i);
+	  struct TOC_t *p = i.getNextTrack(&i);
 	  if (GETTRACK(p) == CDROM_LEADOUT) break;
 	  fprintf( cddb_form,
 		   "# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
@@ -765,7 +763,7 @@

   i.reset(&i);
   while (i.hasNextTrack(&i)) {
-	  struct TOC *p = i.getNextTrack(&i);
+	  struct TOC_t *p = i.getNextTrack(&i);
 	  int ii;

 	  ii = GETTRACK(p);
@@ -788,7 +786,7 @@

   i.reset(&i);
   while (i.hasNextTrack(&i)) {
-	  struct TOC *p = i.getNextTrack(&i);
+	  struct TOC_t *p = i.getNextTrack(&i);
 	  int ii;

 	  ii = GETTRACK(p);
@@ -1495,7 +1493,7 @@
 	InitIterator(&i, 1);

 	while (i.hasNextTrack(&i)) {
-		struct TOC *p = i.getNextTrack(&i);
+		struct TOC_t *p = i.getNextTrack(&i);
 		int ii;

 		if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
@@ -1681,7 +1679,7 @@
 	 global.creator ? ascii2html(global.creator) : "");

     while (i.hasNextTrack(&i)) {
-	    struct TOC *p = i.getNextTrack(&i);
+	    struct TOC_t *p = i.getNextTrack(&i);
 	    int ii = GETTRACK(p);

 	    if (ii == CDROM_LEADOUT) break;
@@ -1703,7 +1701,7 @@
     fprintf( cdindex_form, "   <MultipleArtistCD>\n");

     while (i.hasNextTrack(&i)) {
-	    struct TOC *p = i.getNextTrack(&i);
+	    struct TOC_t *p = i.getNextTrack(&i);
 	    int ii = GETTRACK(p);

 	    if (ii == CDROM_LEADOUT) break;
@@ -1942,9 +1940,9 @@

 	if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
 	    && i.hasNextTrack(&i)) {
-		TOC *o = i.getNextTrack(&i);
+		TOC_t *o = i.getNextTrack(&i);
 		while (i.hasNextTrack(&i)) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);
 			int from;
 			from = GETTRACK(o);

@@ -2072,9 +2070,9 @@
 	count_audio_trks = 0;

 	if (i.hasNextTrack(&i)) {
-		TOC *o = i.getNextTrack(&i);
+		TOC_t *o = i.getNextTrack(&i);
 		while (i.hasNextTrack(&i)) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);
 			int from;
 			from = GETTRACK(o);

@@ -2131,10 +2129,10 @@
 	i.reset(&i);
 	if ((global.verbose & SHOW_TOC) != 0 &&
 		i.hasNextTrack(&i)) {
-		TOC *o = i.getNextTrack(&i);
+		TOC_t *o = i.getNextTrack(&i);

 		for (; i.hasNextTrack(&i);) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);

 			if ( GETTRACK(o) <= MAXTRK ) {
 				unsigned char brace1, brace2;
@@ -2189,9 +2187,9 @@
 		ii = 0;
 		i.reset(&i);
 		if (i.hasNextTrack(&i)) {
-			TOC *o = i.getNextTrack(&i);
+			TOC_t *o = i.getNextTrack(&i);
 			for ( ; i.hasNextTrack(&i);) {
-				TOC *p = i.getNextTrack(&i);
+				TOC_t *p = i.getNextTrack(&i);
 				fprintf ( stderr,
 					  " %2u.(%8u)",
 					  GETTRACK(o),
@@ -2248,7 +2246,7 @@

 		i.reset(&i);
 		for ( ; i.hasNextTrack(&i);) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);
 			int jj = GETTRACK(p);

 			if ( global.tracktitle[jj] != NULL ) {
@@ -2260,7 +2258,7 @@

 		i.reset(&i);
 		for ( ; i.hasNextTrack(&i); ) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);
 			int jj;

 			if (IS__DATA(p))
@@ -2720,7 +2718,7 @@
 		InitIterator(&i, 1);

 		while (i.hasNextTrack(&i)) {
-			struct TOC *p = i.getNextTrack(&i);
+			struct TOC_t *p = i.getNextTrack(&i);
 			unsigned ii = GETTRACK(p);

 			if (ii == CDROM_LEADOUT) break;
@@ -3155,7 +3153,7 @@

   while (i.hasNextTrack(&i)) {
-	  struct TOC *p = i.getNextTrack(&i);
+	  struct TOC_t *p = i.getNextTrack(&i);
 	  unsigned ii = GETTRACK(p);

 	  if ( ii < starttrack || IS__DATA(p) )
@@ -3322,7 +3320,7 @@
 }

-static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
+static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */

 /*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/

@@ -3397,10 +3395,10 @@

 static int restrict_tracks_illleadout(void)
 {
-	struct TOC *o = &g_toc[cdtracks+1];
+	struct TOC_t *o = &g_toc[cdtracks+1];
 	int i;
 	for (i = cdtracks; i >= 0; i--) {
-		struct TOC *p = &g_toc[i];
+		struct TOC_t *p = &g_toc[i];
 		if (GETSTART(o) > GETSTART(p)) break;
 	}
 	patch_cd_extra(i+1, GETSTART(o));
@@ -3523,7 +3521,7 @@

 static int it_hasNextTrack(struct iterator *this);
-static struct TOC *it_getNextTrack(struct iterator *this);
+static struct TOC_t *it_getNextTrack(struct iterator *this);

 static int it_hasNextTrack(struct iterator *this)
 {
@@ -3532,7 +3530,7 @@

-static struct TOC *it_getNextTrack(struct iterator *this)
+static struct TOC_t *it_getNextTrack(struct iterator *this)
 {
 	/* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
 	if ( this->index > (int)cdtracks+1 ) return NULL;
@@ -3583,7 +3581,7 @@
 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);

 		if (GETTRACK(p) == p_track) {
 			if (IS__DATA(p)) {
@@ -3613,7 +3611,7 @@
 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);

 		if (GETTRACK(p) == p_track) {
 			return GETSTART(p);
@@ -3637,7 +3635,7 @@
 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);
 		if (GETTRACK(p) == p_track) {
 			p = i.getNextTrack(&i);
 			if (p == NULL) {
@@ -3669,7 +3667,7 @@
 	else i.reset(&i);

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);
 		unsigned ii = GETTRACK(p);

 		if (ii == CDROM_LEADOUT) break;
@@ -3687,7 +3685,7 @@
 	else i.reset(&i);

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);
 		if (IS__DATA(p)) {
 			return GETTRACK(p);
 		}
@@ -3708,7 +3706,7 @@
 	else i.reset(&i);

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);
 		if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
 			j = GETTRACK(p);
 		}
@@ -3730,7 +3728,7 @@
 	if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);

 		if (GETTRACK(p) < p_track)
 			continue;
@@ -3749,9 +3747,9 @@
 	else i.reset(&i);

 	if (i.hasNextTrack(&i)) {
-		TOC *o = i.getNextTrack(&i);
+		TOC_t *o = i.getNextTrack(&i);
 		while (i.hasNextTrack(&i)) {
-			TOC *p = i.getNextTrack(&i);
+			TOC_t *p = i.getNextTrack(&i);
 			if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
 				if (IS__DATA(o)) {
 					return -1;
@@ -3772,7 +3770,7 @@
 	else i.reset(&i);

 	while (i.hasNextTrack(&i)) {
-		TOC *p = i.getNextTrack(&i);
+		TOC_t *p = i.getNextTrack(&i);

 		if (GETTRACK(p) < from)
 			continue;
@@ -3788,54 +3786,3 @@
 	return 0;
 }

-#ifdef	USE_PARANOIA
-long cdda_disc_firstsector(void *d);
-
-long cdda_disc_firstsector(void *d)
-{
-	return Get_StartSector(FirstAudioTrack());
-}
-
-int cdda_tracks(void *d);
-
-int cdda_tracks(void *d)
-{
-	return LastAudioTrack() - FirstAudioTrack() +1;
-}
-
-int cdda_track_audiop(void *d, int track);
-
-int cdda_track_audiop(void *d, int track)
-{
-	return Get_Datatrack(track) == 0;
-}
-
-long cdda_track_firstsector(void *d, int track);
-
-long cdda_track_firstsector(void *d, int track)
-{
-	return Get_AudioStartSector(track);
-}
-
-long cdda_track_lastsector(void *d, int track);
-
-long cdda_track_lastsector(void *d, int track)
-{
-	return Get_EndSector(track);
-}
-
-long cdda_disc_lastsector(void *d);
-
-long cdda_disc_lastsector(void *d)
-{
-	return Get_LastSectorOnCd(cdtracks) - 1;
-}
-
-int cdda_sector_gettrack(void *d,long sector);
-
-int cdda_sector_gettrack(void *d, long sector)
-{
-	return Get_Track(sector);
-}
-
-#endif


code:
diff -up wrk/include/glibc_elf.h.wrk wrk/include/glibc_elf.h
--- wrk/include/glibc_elf.h.wrk	2014-09-19 16:04:45.546981432 +0200
+++ wrk/include/glibc_elf.h	2014-09-19 16:38:55.407991682 +0200
@@ -2081,7 +2081,8 @@ typedef Elf32_Addr Elf32_Conflict;
 #define R_PPC64_DTPREL16_HIGHESTA 106 /* half16	(sym+add)@dtprel@highesta */

 /* Keep this the last entry.  */
-#define R_PPC64_NUM		107
+//symbol conflicting with system headers on ppc64le and nowhere used
+//#define R_PPC64_NUM		107

 /* PowerPC64 specific values for the Dyn d_tag field.  */
 #define DT_PPC64_GLINK  (DT_LOPROC + 0)


code:
diff -up cdrkit-1.1.11/readom/readom.c.readsegfault cdrkit-1.1.11/readom/readom.c
--- cdrkit-1.1.11/readom/readom.c.readsegfault	2011-03-07 15:51:46.889441591 +0100
+++ cdrkit-1.1.11/readom/readom.c	2011-03-07 15:51:50.702938263 +0100
@@ -906,7 +906,7 @@ read_ftoc(SCSI *usalp, parm_t *parmp, BO

 	strcpy(filename, "toc.dat");
-	if (strcmp(parmp->name, "/dev/null") != 0) {
+	if (parmp != NULL && strcmp(parmp->name, "/dev/null") != 0) {

 		len = strlen(parmp->name);
 		if (len > (sizeof (filename)-5)) {


code:
diff -up cdrkit-1.1.11/genisoimage/tree.c.rootstat cdrkit-1.1.11/genisoimage/tree.c
--- cdrkit-1.1.11/genisoimage/tree.c.rootstat	2011-01-25 14:15:36.766389403 +0100
+++ cdrkit-1.1.11/genisoimage/tree.c	2011-01-25 14:17:24.804643126 +0100
@@ -48,6 +48,7 @@
 #include <fctldefs.h>
 #include <device.h>
 #include <schily.h>
+#include <libgen.h>

 extern int allow_limited_size;

@@ -1421,12 +1422,16 @@ insert_file_entry(struct directory *this
 		return (0);
 	}
 	if (this_dir == root && strcmp(short_name, ".") == 0)
-		root_statbuf = statbuf;	/* Save this for later on */
+		memcpy(&root_statbuf, &statbuf, sizeof(root_statbuf));  /* Save this for later on */

 	/* We do this to make sure that the root entries are consistent */
 	if (this_dir == root && strcmp(short_name, "..") == 0) {
-		statbuf = root_statbuf;
-		lstatbuf = root_statbuf;
+		/* for the case .. comes before . */
+		if (!root_statbuf.st_ctime) {
+			stat_filter(dirname(whole_path), &root_statbuf);
+		}
+		memcpy(&statbuf, &root_statbuf, sizeof(statbuf));
+		memcpy(&lstatbuf, &root_statbuf, sizeof(lstatbuf));
 	}
 	if (S_ISLNK(lstatbuf.st_mode)) {


code:
diff -up wrk/genisoimage/rock.c.wrk wrk/genisoimage/rock.c
--- wrk/genisoimage/rock.c.wrk	2017-01-04 14:25:54.879670532 +0100
+++ wrk/genisoimage/rock.c	2017-01-04 15:11:38.061228649 +0100
@@ -39,6 +39,11 @@
 #include <device.h>
 #include <schily.h>

+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
 #define	SU_VERSION 1

 #define	SL_ROOT    8
diff -up wrk/genisoimage/tree.c.wrk wrk/genisoimage/tree.c
--- wrk/genisoimage/tree.c.wrk	2017-01-04 14:21:47.472189363 +0100
+++ wrk/genisoimage/tree.c	2017-01-04 15:13:32.989466729 +0100
@@ -50,6 +50,11 @@
 #include <schily.h>
 #include <libgen.h>

+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
 extern int allow_limited_size;

 #ifdef VMS
diff -up wrk/icedax/interface.c.wrk wrk/icedax/interface.c
--- wrk/icedax/interface.c.wrk	2017-01-04 14:46:54.298203958 +0100
+++ wrk/icedax/interface.c	2017-01-04 15:14:06.333535804 +0100
@@ -55,6 +55,11 @@
 #include <sys/ioctl.h>
 #include <statdefs.h>

+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+

 #include "mycdrom.h"
 #include "lowlevel.h"
diff -up wrk/icedax/ioctl.c.wrk wrk/icedax/ioctl.c
--- wrk/icedax/ioctl.c.wrk	2017-01-04 14:49:45.834583930 +0100
+++ wrk/icedax/ioctl.c	2017-01-04 15:15:10.268668248 +0100
@@ -36,6 +36,11 @@
 #include <schily.h>
 #include <device.h>

+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
 #include <usal/scsitransp.h>

 #include "mycdrom.h"


code:
diff -up cdrkit-1.1.11/librols/CMakeLists.txt.usalinst cdrkit-1.1.11/librols/CMakeLists.txt
--- cdrkit-1.1.11/librols/CMakeLists.txt.usalinst	2012-07-31 10:51:30.270669381 +0200
+++ cdrkit-1.1.11/librols/CMakeLists.txt	2012-07-31 10:52:02.365378257 +0200
@@ -3,5 +3,11 @@ INCLUDE_DIRECTORIES(../include ../libhfs

 SET(LIBROLS_SRCS  astoi.c astoll.c astoull.c breakline.c cmpbytes.c comerr.c error.c fexec.c fillbytes.c getargs.c getav0.c getdomainname.c geterrno.c gethostid.c gethostname.c getpagesize.c handlecond.c movebytes.c raisecond.c rename.c saveargs.c seterrno.c spawn.c strcatl.c strdup.c streql.c swabbytes.c usleep.c stdio/cvmod.c stdio/dat.c stdio/fcons.c stdio/fdown.c stdio/fdup.c stdio/ffileread.c stdio/ffilewrite.c stdio/fgetline.c stdio/file_raise.c stdio/fileclose.c stdio/fileluopen.c stdio/filemopen.c stdio/fileopen.c  stdio/filepos.c stdio/fileread.c stdio/filereopen.c stdio/fileseek.c stdio/filesize.c stdio/filestat.c stdio/filewrite.c stdio/flag.c stdio/flush.c stdio/fpipe.c stdio/niread.c stdio/niwrite.c stdio/nixread.c stdio/nixwrite.c stdio/openfd.c stdio/peekc.c default.c)

-ADD_LIBRARY (rols STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h  ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
+ADD_LIBRARY (rols SHARED ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h  ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
+SET_TARGET_PROPERTIES(rols PROPERTIES
+    VERSION 0.0.1
+    SOVERSION 0
+)
+
+INSTALL(TARGETS rols DESTINATION lib${LIB_SUFFIX})

diff -up cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst cdrkit-1.1.11/libusal/CMakeLists.txt
--- cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst	2012-07-31 10:51:30.302670085 +0200
+++ cdrkit-1.1.11/libusal/CMakeLists.txt	2012-07-31 10:52:09.190528942 +0200
@@ -6,5 +6,12 @@ ADD_DEFINITIONS(-DUSE_RCMD_RSH)
 #SET(LIBSCG_SRCS rdummy.c usalsettarget.c usaltimes.c scsi-linux-ata.c scsi-linux-pg.c scsi-linux-sg.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c)
 SET(LIBSCG_SRCS usalsettarget.c usaltimes.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c scsi-remote.c)
 LINK_DIRECTORIES(../librols)
-ADD_LIBRARY (usal STATIC ${LIBSCG_SRCS})
+ADD_LIBRARY (usal SHARED ${LIBSCG_SRCS})
+
 TARGET_LINK_LIBRARIES(usal ${SCG_SELF_LIBS})
+SET_TARGET_PROPERTIES(usal PROPERTIES
+    VERSION 0.0.1
+    SOVERSION 0
+)
+INSTALL(TARGETS usal DESTINATION lib${LIB_SUFFIX})
+INSTALL(FILES usal/scsicdb.h usal/aspi-dos.h usal/usalcmd.h usal/usalio.h usal/scsireg.h usal/usalops.h usal/scsidefs.h usal/spti-wnt.h usal/srb_os2.h usal/scsitransp.h usal/aspi-win32.h usal/scsisense.h usaltimes.h pg.h DESTINATION include/usal)


code:
diff -up cdrkit-1.1.11/Changelog.utf8 cdrkit-1.1.11/Changelog
--- cdrkit-1.1.11/Changelog.utf8	2012-07-31 12:38:50.207872763 +0200
+++ cdrkit-1.1.11/Changelog	2012-07-31 12:38:57.669026934 +0200
@@ -519,7 +519,7 @@ cdrkit (2.01.01a08+X.12) UNRELEASED; urg

 cdrkit (2.01.01a08+X.11) UNRELEASED; urgency=low

-  * 26_author_locale (ASCII transliteration of J�rg in the standard credits
+  * 26_author_locale (ASCII transliteration of Jörg in the standard credits
     message)
   * 28_cdda2wav_interface (Linux friendly cdda2wav behaviour)
   * 30_doc_typo_fixes (various documentation/message fixes)
@@ -821,8 +821,8 @@ Sun May 16 01:37:11 2004 Joerg Schilling

 Sun May 16 01:26:52 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* cdrecord.1 1.95
-	  Ei�feldt -> Ei\*sfeldt
-	  �sec -> \*msec
+	  Eißfeldt -> Ei\*sfeldt
+	  ľsec -> \*msec

 Sat May 15 23:14:18 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* subchan.c 1.19
@@ -1057,7 +1057,7 @@ Wed Jan 14 15:37:47 2004 Joerg Schilling
 Wed Jan 14 01:14:27 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* scsi-mac-iokit.c 1.8
 	  ux_errno wird nun korrekt gesetzt wenn ein Kommando schiefgeht
-	  Die Sense Daten werden nicht mehr gel�scht
+	  Die Sense Daten werden nicht mehr gelöscht
 	  Author ist nun "schily", denn das Modul kommt nun teilweise dirch scgcheck

 Tue Jan 13 20:43:44 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
@@ -1074,7 +1074,7 @@ Mon Jan 12 00:33:39 2004 Joerg Schilling

 Sun Jan 11 18:42:14 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* scsi-linux-sg.c 1.77
-	  Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterst�tzen.
+	  Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen.

 Sun Jan 11 16:18:48 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* scsi-linux-sg.c 1.76
@@ -6144,7 +6144,7 @@ Mon Oct 26 00:27:22 1998 Joerg Schilling
 	  New manufacturer: Xcitec Inc.
 			Doremi Media Co., Ltd.
 			Matsushita Electric Industrial Co.,Ltd.
-			CDA Datentr�ger Albrechts GmbH.
+			CDA Datenträger Albrechts GmbH.

 Sun Oct 25 13:00:22 1998 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
 	* cdrecord.c 1.71
diff -up cdrkit-1.1.11/doc/icedax/README.utf8 cdrkit-1.1.11/doc/icedax/README
--- cdrkit-1.1.11/doc/icedax/README.utf8	2012-07-31 12:38:18.903226517 +0200
+++ cdrkit-1.1.11/doc/icedax/README	2012-07-31 12:38:18.902226496 +0200
@@ -387,7 +387,7 @@ and

 <http://www.anime.net/~goemon/linux-cd/cdda-list.html>

-From a news posting from Bj�rn Wiberg
+From a news posting from Björn Wiberg

 > The following table was generated using the CDROM.CFG file from Nero
 > v3.0.4.2.
diff -up cdrkit-1.1.11/doc/icedax/THANKS.utf8 cdrkit-1.1.11/doc/icedax/THANKS
--- cdrkit-1.1.11/doc/icedax/THANKS.utf8	2012-07-31 12:38:18.901226475 +0200
+++ cdrkit-1.1.11/doc/icedax/THANKS	2012-07-31 12:38:18.901226475 +0200
@@ -5,7 +5,7 @@ http://www.mode.net/

 and

-Fraunhofer Institut f�r integrierte Schaltungen (FhG-IIS)
+Fraunhofer Institut für integrierte Schaltungen (FhG-IIS)
 http://www.iis.fhg.de/

 Code for extraction of ISRC and MCN codes as well as MD5 signatures
@@ -33,4 +33,4 @@ Francesco Chemolli (getopt_long patches)
 Thanks to all testers and finally Jim McLaughlin for supplying
 the first cdda-reader source code (that got me started).

-Heiko Ei�feldt
+Heiko Eißfeldt
diff -up cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8 cdrkit-1.1.11/doc/READMEs/README.ATAPI
--- cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8	2012-07-31 12:38:18.899226433 +0200
+++ cdrkit-1.1.11/doc/READMEs/README.ATAPI	2012-07-31 12:38:18.900226454 +0200
@@ -279,7 +279,7 @@ selectively telling the kernel what to u
 this would not be needed if the Linux SCSI CD-ROM driver would be more
 up to date and supports standard conforming drives.

-J�rg Schilling <schilling@fokus.fhg.de>
+Jörg Schilling <schilling@fokus.fhg.de>

 --------------------------------------------------
 Here is a hint from Alan Brown <alanb@manawatu.gen.nz>:
diff -up cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8 cdrkit-1.1.11/doc/READMEs/README.cdplus
--- cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8	2012-07-31 12:38:18.900226454 +0200
+++ cdrkit-1.1.11/doc/READMEs/README.cdplus	2012-07-31 12:38:18.900226454 +0200
@@ -63,7 +63,7 @@ Note: If you want to create an HFS hybri
 use the '-part' option to genisoimage. Otherwise, the data track will be mounted
 as an ISO9660/Joliet CD when used on a Mac.

-J�rg
+Jörg

 Edited for cdrkit by Christian Fromme <kaner@strace.org> and Eduard Bloch


code:
diff -up wrk/genisoimage/exclude.c.wrk wrk/genisoimage/exclude.c
--- wrk/genisoimage/exclude.c.wrk	2015-02-25 13:16:28.054237196 +0100
+++ wrk/genisoimage/exclude.c	2015-02-25 13:33:06.761312002 +0100
@@ -39,7 +39,7 @@ exclude(char *fn)
 {
 	register int	i;

-	for (i = 0; excl[i] && i < MAXEXCL; i++)
+	for (i = 0; i < MAXEXCL && excl[i]; i++)
 		;

 	if (i == MAXEXCL) {
@@ -69,7 +69,7 @@ is_excluded(char *fn)
 	/*
 	 * very dumb search method ...
 	 */
-	for (i = 0; excl[i] && i < MAXEXCL; i++) {
+	for (i = 0; i < MAXEXCL && excl[i]; i++) {
 		if (strcmp(excl[i], fn) == 0) {
 			return (1);	/* found -> excluded filenmae */
 		}
diff -up wrk/icedax/toc.c.wrk wrk/icedax/toc.c