From 10203b19b8d7899a1442eadd8f0d13cdf3e92172 Mon Sep 17 00:00:00 2001 From: ayhanyalcinsoy Date: Thu, 23 Jul 2015 13:36:25 +0300 Subject: [PATCH] libcdio:moved into main for pisi 2.0 --- hardware/optical/libcdio/actions.py | 29 +++++++ .../libcdio/files/libcdio-0.83-linking.patch | 22 +++++ ...t-return-freed-memory-from-udf_fopen.patch | 33 ++++++++ hardware/optical/libcdio/pspec.xml | 81 +++++++++++++++++++ hardware/optical/libcdio/translations.xml | 14 ++++ 5 files changed, 179 insertions(+) create mode 100644 hardware/optical/libcdio/actions.py create mode 100644 hardware/optical/libcdio/files/libcdio-0.83-linking.patch create mode 100644 hardware/optical/libcdio/files/udf-Dont-return-freed-memory-from-udf_fopen.patch create mode 100644 hardware/optical/libcdio/pspec.xml create mode 100644 hardware/optical/libcdio/translations.xml diff --git a/hardware/optical/libcdio/actions.py b/hardware/optical/libcdio/actions.py new file mode 100644 index 0000000000..1353adf503 --- /dev/null +++ b/hardware/optical/libcdio/actions.py @@ -0,0 +1,29 @@ +#!/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 get +from pisi.actionsapi import shelltools + +def setup(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static \ + --with-cd-paranoia-name=libcdio-paranoia \ + --disable-vcd-info \ + --enable-cpp-progs \ + --disable-rpath") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % (get.installDIR())) + + pisitools.dosed("%s/usr/include/cdio/version.h" % get.installDIR(), '%s[^"]+' % get.srcVERSION(), get.srcVERSION()) + pisitools.dosed("%s/usr/include/cdio/cdio_config.h" % get.installDIR(), "#define\s(CDIO_LIBCDIO_SOURCE_PATH).*", r"#undef \1") + + pisitools.dodoc("AUTHORS", "ChangeLog", "NEWS", "README", "THANKS") diff --git a/hardware/optical/libcdio/files/libcdio-0.83-linking.patch b/hardware/optical/libcdio/files/libcdio-0.83-linking.patch new file mode 100644 index 0000000000..84a0746b52 --- /dev/null +++ b/hardware/optical/libcdio/files/libcdio-0.83-linking.patch @@ -0,0 +1,22 @@ +diff -Naur libcdio-0.83-orig/example/C++/OO/Makefile.in libcdio-0.83/example/C++/OO/Makefile.in +--- libcdio-0.83-orig/example/C++/OO/Makefile.in 2011-10-27 18:02:31.000000000 +1000 ++++ libcdio-0.83/example/C++/OO/Makefile.in 2012-02-18 11:10:07.369277231 +1000 +@@ -315,15 +315,15 @@ + + isofile2_SOURCES = isofile2.cpp + isofile2_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ +- $(LIBCDIOPP_LIBS) $(LTLIBICONV) ++ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) + + isolist_SOURCES = isolist.cpp + isolist_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ +- $(LIBCDIOPP_LIBS) $(LTLIBICONV) ++ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) + + iso4_SOURCES = iso4.cpp + iso4_LDADD = $(LIBISO9660PP_LIBS) $(LIBISO9660_LIBS) \ +- $(LIBCDIOPP_LIBS) $(LTLIBICONV) ++ $(LIBCDIOPP_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV) + + mmc1_SOURCES = mmc1.cpp + mmc1_DEPENDENCIES = $(LIBCDIO_DEPS) diff --git a/hardware/optical/libcdio/files/udf-Dont-return-freed-memory-from-udf_fopen.patch b/hardware/optical/libcdio/files/udf-Dont-return-freed-memory-from-udf_fopen.patch new file mode 100644 index 0000000000..191e353416 --- /dev/null +++ b/hardware/optical/libcdio/files/udf-Dont-return-freed-memory-from-udf_fopen.patch @@ -0,0 +1,33 @@ +From 6c0251d145e44b7cdfeb9767c615646fb8f51320 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Thu, 22 Nov 2012 13:53:15 +0100 +Subject: [PATCH] udf: Don't return freed memory from udf_fopen + +When trying to open a file located in the root directory of the +UDF filesystem, we call udf_ff_open with the dirent corresponding +to the root dir and the filename. In this case, udf_ff_open will +return the same dirent as the one that was passed as argument, so +we must not free it as we'll be returning it. +This causes a crash with iso-read when trying to read a file located +at the root of the image. +--- + lib/udf/udf_fs.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/lib/udf/udf_fs.c b/lib/udf/udf_fs.c +index 5f5add7..1e0601e 100644 +--- a/lib/udf/udf_fs.c ++++ b/lib/udf/udf_fs.c +@@ -257,7 +257,8 @@ udf_fopen(udf_dirent_t *p_udf_root, const char *psz_name) + p_udf_root->psz_name, p_udf_root->b_dir, + p_udf_root->b_parent); + p_udf_file = udf_ff_traverse(p_udf_dirent, psz_token); +- udf_dirent_free(p_udf_dirent); ++ if (p_udf_file != p_udf_dirent) ++ udf_dirent_free(p_udf_dirent); + } + else if ( 0 == strncmp("/", psz_name, sizeof("/")) ) { + return udf_new_dirent(&p_udf_root->fe, p_udf_root->p_udf, +-- +1.7.2.5 + diff --git a/hardware/optical/libcdio/pspec.xml b/hardware/optical/libcdio/pspec.xml new file mode 100644 index 0000000000..ce964fbd8a --- /dev/null +++ b/hardware/optical/libcdio/pspec.xml @@ -0,0 +1,81 @@ + + + + + libcdio + http://www.gnu.org/software/libcdio/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + A library to encapsulate CD-ROM reading and control + This library provides an interface for CD-ROM access. It can be used by applications that need OS- and device-independent access to CD-ROM devices. + mirrors://gnu/libcdio/libcdio-0.92.tar.gz + + libgcc + + + libcdio-0.83-linking.patch + + + + + + libcdio + + libgcc + + + /usr/share/info + /usr/share/man + /usr/share/doc + /usr/lib + /usr/bin + + + + + libcdio-devel + Development files for libcdio + + libcdio + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2014-05-20 + 0.92 + Version bump. + Kamil Atlı + suvarice@gmail.com + + + 2014-03-08 + 0.90 + Rebuild. + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 0.90 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2011-05-27 + 0.82 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/hardware/optical/libcdio/translations.xml b/hardware/optical/libcdio/translations.xml new file mode 100644 index 0000000000..06316d10e3 --- /dev/null +++ b/hardware/optical/libcdio/translations.xml @@ -0,0 +1,14 @@ + + + + libcdio + CD-ROM okuma ve kontrol kitaplığının küçültülmüş sürümü + Un librairie encapsulant la lecture et le controle du lecteur CD-ROM. + GNU kompakt disk girdi ve kontrol kitaplığı (libcdio) CD-ROM ve CD kalıplarına ulaşım için gerekli bir kitaplıktır. + + + + libcdio-devel + libcdio için geliştirme dosyaları + +