Bug#824588: brasero: Brasero demands UDF if a data file is 2 GB or larger
Thomas Schmitt
scdbackup at gmx.net
Tue May 17 19:24:36 UTC 2016
Subject: brasero: Brasero demands UDF if a data file is 2 GB or larger
Package: brasero
Version: 3.11.4-1.1
Severity: important
Tags: lfs upstream
Dear Maintainer,
in https://forums.gentoo.org/viewtopic-p-7920118.html a user reports
failure of Brasero on Gentoo whereas on Archlinux it works with the
same input files. It turned out that the trigger is whether the plugin
for mkisofs or for libisofs is used.
If brasero detects an input file of 2 GiB or larger then it deliberately
demands UDF which libisofs and the libisofs-plugin do not offer. The
attempt to use the libisofs plugin then fails.
The size threshold is defined in
http://sources.debian.net/src/brasero/3.12.1-1/libbrasero-burn/brasero-file-node.h/?hl=197#L197
#define BRASERO_FILE_2G_LIMIT 1048576
The demand for UDF is expressed in
https://sources.debian.net/src/brasero/3.12.1-1/libbrasero-burn/brasero-data-project.c/#L2701
if (node->is_2GiB) {
data->fs_type |= BRASERO_IMAGE_ISO_FS_LEVEL_3;
if (!(data->fs_type & BRASERO_IMAGE_FS_SYMLINK))
data->fs_type |= BRASERO_IMAGE_FS_UDF;
}
The demand for ISO level 3 is legitimate and can be fulfilled by libisofs.
The plugin announces this in
https://sources.debian.net/src/brasero/3.12.1-1/plugins/libburnia/burn-libisofs.c/#L1110
and performs the necessary libisofs calls in
https://sources.debian.net/src/brasero/3.12.1-1/plugins/libburnia/burn-libisofs.c/#L833
Obviously a user workaround would be to include a symbolic link in
the data composition.
----------------------------------------------------------------------------
Brasero should ask the plugin whether it supports UDF or better it should not
demand UDF for reasons of data file size. ISO 9660 can cope well with large
files.
So i propose to just remove these two lines
if (!(data->fs_type & BRASERO_IMAGE_FS_SYMLINK))
data->fs_type |= BRASERO_IMAGE_FS_UDF;
Further, the limit of 2 GiB is not the size limit for ISO 9660 level 1 or 2.
This is rather 4 GiB, because the bytes of a data extent are counted by
32 bit unsigned integers. If the number of bytes exceeds 4 GiB - 1, then
one needs more than one extent, which is forbidden for level 1 and 2.
(See ECMA-119, 10 "Levels of Interchange".)
Have a nice day :)
Thomas
Not really relevant. I inspected Debian's copy of upstream source.
(Astonishingly debian/patches is empty.)
-- System Information:
Debian Release: 8.1
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages brasero depends on:
ii brasero-common 3.11.4-1.1
ii gnome-icon-theme 3.12.0-1
ii gstreamer1.0-plugins-base 1.4.4-2
ii gvfs 1.22.2-1
ii libatk1.0-0 2.14.0-1
ii libbrasero-media3-1 3.11.4-1.1
ii libc6 2.19-18
ii libcairo-gobject2 1.14.0-2.1
ii libcairo2 1.14.0-2.1
ii libgdk-pixbuf2.0-0 2.31.1-2+b1
ii libglib2.0-0 2.42.1-1
ii libgstreamer-plugins-base1.0-0 1.4.4-2
ii libgstreamer1.0-0 1.4.4-2
ii libgtk-3-0 3.14.5-1
ii libice6 2:1.0.9-1+b1
ii libnautilus-extension1a 3.14.1-2
ii libpango-1.0-0 1.36.8-3
ii libpangocairo-1.0-0 1.36.8-3
ii libsm6 2:1.2.2-1+b1
ii libtotem-plparser18 3.10.3-1
ii libtracker-sparql-1.0-0 1.2.4-2
ii libxml2 2.9.1+dfsg1-5
Versions of packages brasero recommends:
ii brasero-cdrkit 3.11.4-1.1
ii yelp 3.14.1-1
Versions of packages brasero suggests:
pn libdvdcss2 <none>
pn tracker <none>
ii vcdimager 0.7.24+dfsg-0.2
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list