vcdimager: 0.7.24 -> 2.0.1 closes FS#1720

This commit is contained in:
Danny Rawlins 2019-03-05 18:34:24 +11:00
parent 0faf87b1a4
commit ac750a97b4
4 changed files with 117 additions and 21 deletions

View File

@ -25,12 +25,13 @@ lrwxrwxrwx root/root usr/lib/libvcdinfo.so.0 -> libvcdinfo.so.0.2.0
-rwxr-xr-x root/root usr/lib/libvcdinfo.so.0.2.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/libvcdinfo.pc
drwxr-xr-x root/root usr/man/
drwxr-xr-x root/root usr/man/man1/
-rw-r--r-- root/root usr/man/man1/cdxa2mpeg.1.gz
-rw-r--r-- root/root usr/man/man1/vcd-info.1.gz
-rw-r--r-- root/root usr/man/man1/vcdimager.1.gz
-rw-r--r-- root/root usr/man/man1/vcdxbuild.1.gz
-rw-r--r-- root/root usr/man/man1/vcdxgen.1.gz
-rw-r--r-- root/root usr/man/man1/vcdxminfo.1.gz
-rw-r--r-- root/root usr/man/man1/vcdxrip.1.gz
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/man/
drwxr-xr-x root/root usr/share/man/man1/
-rw-r--r-- root/root usr/share/man/man1/cdxa2mpeg.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcd-info.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcdimager.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcdxbuild.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcdxgen.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcdxminfo.1.gz
-rw-r--r-- root/root usr/share/man/man1/vcdxrip.1.gz

View File

@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF38cYnsUIXMaCEQ+KqfYvm7Y5FhATiWFTb+MMjK1PNN7STr7MZyY08GtXg2XmvuN3iFYpBZcbVHCR7QqzS5aQmgY=
SHA256 (Pkgfile) = e78ddd4b0f2e9fdcd1e7a7543140ff2fc53cfaddc005b561896de98eedbbe2bc
SHA256 (.footprint) = db49e24d1b0e9662d61b4ecdf4d12c011effd9c97a30c7574a52dd4dcd099eb6
SHA256 (vcdimager-0.7.24.tar.gz) = 075d7a67353ff3004745da781435698b6bc4a053838d0d4a3ce0516d7d974694
RWSagIOpLGJF37wxDbuNyAyJKhDbPh5b3U2GLVJqDrcu6YaGv+mBV7CgfAeDOcNNidKGK0sLFKKDjogiRHChGAl6rGiwNCyo3gE=
SHA256 (Pkgfile) = 7a2df950817efa54bad72e0435292fc144d7d603d6decfeb5108fc917a8749df
SHA256 (.footprint) = 2fd1e17c6f286f2d8961bcab528c14657ebaedf831fd5a48ffe0605e0e4a3027
SHA256 (vcdimager-2.0.1.tar.gz) = 67515fefb9829d054beae40f3e840309be60cda7d68753cafdd526727758f67a
SHA256 (resurrect_library_symbols.patch) = e998bcc11b47e9a853baeb930155d71cba42e013e042a26a40ee82c2cacd3714

View File

@ -1,23 +1,22 @@
# Description: Create (S)VCDs.
# URL: http://www.gnu.org/software/vcdimager/
# URL: https://www.gnu.org/software/vcdimager/
# Maintainer: Danny Rawlins, crux at romster dot me
# Packager: Hannes Mayer, kontakt at ecarux de
# Depends on: libcdio libxml2 popt
name=vcdimager
version=0.7.24
version=2.0.1
release=1
source=(http://mirror.aarnet.edu.au/pub/gnu/$name/$name-$version.tar.gz)
source=(https://mirror.aarnet.edu.au/pub/gnu/$name/$name-$version.tar.gz
resurrect_library_symbols.patch)
build() {
cd $name-$version
./configure \
--prefix=/usr \
--mandir=/usr/man
patch -p1 -i $SRC/resurrect_library_symbols.patch
./configure --prefix=/usr
make
make DESTDIR=$PKG install
rm -r $PKG/usr/share/info
rmdir $PKG/usr/share
}

View File

@ -0,0 +1,95 @@
Description: Resurrect symbols in libvcdinfo
The library with SONAME libvcdinfo.so.0 used to have symbols vcdinfo_msf2lba,
vcdinfo_lba2msf, vcdinfo_msf2lsn and _vcd_malloc; resurrect them not to break
the ABI.
Author: Nicolas Boullis <nboullis@debian.org>
https://sources.debian.org/data/main/v/vcdimager/2.0.1+dfsg-3/debian/patches/resurrect_library_symbols
Index: b/lib/info.c
===================================================================
--- a/lib/info.c
+++ b/lib/info.c
@@ -1640,6 +1640,48 @@ vcdinfo_inc_msf (uint8_t *p_min, uint8_t
}
}
+/*!
+ Convert minutes, seconds and frame (MSF components) into a
+ logical block address (or LBA).
+ See also cdio_msf_to_lba which uses msf_t as its single parameter.
+*/
+#undef vcdinfo_msf2lba
+lba_t
+vcdinfo_msf2lba (uint8_t min, uint8_t sec, int8_t frame)
+{
+ return CDIO_CD_FRAMES_PER_SEC*(CDIO_CD_SECS_PER_MIN*min + sec) + frame;
+}
+
+/*!
+ Convert minutes, seconds and frame (MSF components) into a
+ logical block address (or LBA).
+ See also cdio_msf_to_lba which uses msf_t as its single parameter.
+*/
+void
+vcdinfo_lba2msf (lba_t lba, uint8_t *p_min, uint8_t *p_sec, uint8_t *p_frame)
+{
+ *p_min = lba / (60*75);
+ lba %= (60*75);
+ *p_sec = lba / 75;
+ *p_frame = lba % 75;
+}
+
+/*!
+ Convert minutes, seconds and frame (MSF components) into a
+ logical sector number (or LSN).
+*/
+lsn_t
+vcdinfo_msf2lsn (uint8_t min, uint8_t sec, int8_t frame)
+{
+ lba_t lba=75*(60*min + sec) + frame;
+ if (lba < CDIO_PREGAP_SECTORS) {
+ vcd_error ("lba (%u) less than pregap sector (%u)",
+ (unsigned int) lba, CDIO_PREGAP_SECTORS);
+ return lba;
+ }
+ return lba - CDIO_PREGAP_SECTORS;
+}
+
const char *
vcdinfo_ofs2str (const vcdinfo_obj_t *p_obj, unsigned int offset, bool ext)
{
Index: b/lib/util.c
===================================================================
--- a/lib/util.c
+++ b/lib/util.c
@@ -119,6 +119,18 @@ _vcd_strsplit(const char str[], char del
}
void *
+_vcd_malloc (size_t size)
+{
+ void *new_mem = malloc (size);
+
+ vcd_assert (new_mem != NULL);
+
+ memset (new_mem, 0, size);
+
+ return new_mem;
+}
+
+void *
_vcd_memdup (const void *mem, size_t count)
{
void *new_mem = NULL;
Index: b/include/libvcd/info.h
===================================================================
--- a/include/libvcd/info.h
+++ b/include/libvcd/info.h
@@ -752,7 +752,7 @@ extern "C" {
See also msf_to_lba which uses msf_t as its single parameter.
*/
void
- vcdinfo_lba2msf (lba_t lba, uint8_t *min, uint8_t *sec, uint8_t *frame);
+ vcdinfo_lba2msf (lba_t lba, uint8_t *p_min, uint8_t *p_sec, uint8_t *p_frame);
/*!
Get the item id for a given list ID.