Commit 219ec00a authored by Yves-Alexis Perez's avatar Yves-Alexis Perez

Update upstream source from tag 'upstream/0.5.5'

Update to upstream version '0.5.5'
with Debian dir 10a95351d9cc1ba7deab8e34de885993b3d120c4
parents 5757fda8 e0228979
David Mohr <david@mcbf.net>
Retired:
Mario Đanić <mario@libburnia-project.org>
Jean-François Wauthy <pollux@xfce.org> (Original author)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
SUBDIRS = \
desktop-integration \
icons \
po \
docs \
xfburn
AUTOMAKE_OPTIONS = dist-bzip2
uidir = $(datadir)/xfburn
ui_DATA = \
xfburn.ui \
xfburn-toolbars.ui
#
# appdata
#
@INTLTOOL_XML_RULE@
appdatadir = $(datadir)/appdata
appdata_DATA = $(appdata_in_files:.xml.in=.xml)
appdata_in_files = xfburn.appdata.xml.in
.PHONY: ChangeLog
ChangeLog: Makefile
(GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp \
&& mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) \
|| (touch ChangeLog; echo 'Git directory not found: installing possibly empty changelog.' >&2)
dist-hook: ChangeLog
EXTRA_DIST = \
$(apps_in_files) \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
$(ui_DATA) \
$(appdata_in_files)
appsdir = $(datadir)/applications
apps_in_files = xfburn.desktop.in
apps_DATA = $(apps_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
dist-bz2: dist
zcat $(PACKAGE)-$(VERSION).tar.gz | \
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2
distcheck-bz2: distcheck
zcat $(PACKAGE)-$(VERSION).tar.gz | \
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update \
$(apps_DATA) \
$(appdata_DATA)
# vi:set ts=8 sw=8 noet ai nocindent softtabstop=0 list listchars=tab\:>-:
This diff is collapsed.
xfburn 0.5.5 (2017-12-14)
============-------------
- Use gstreamer discovere api to get track duration
- Update xfburn icon in desktop-integration and main windows
- Do not use deprecated media-cdrom Icon (Bug #12233)
- Add appdata file (Bug #11201)
- Add GenericName in xfburn.desktop.in (Bug #12170)
- Do no open data-composition when running --audio-composition (Bug #13251)
- Improve error message when a plugin is missing.
- Missing strings in translations (Bug #11291)
- Translation Updates: Arabic, Asturian, Bulgarian, Catalan, Czech, Danish, German, Greek, English (Australia), English (United Kingdom), Spanish, Estonian, Basque, Finnish, French, Galician, Hebrew, Croatian, Hungarian, Indonesian, Icelandic, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Dutch, Norwegian Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese (Brazil), Russian, Sinhala, Slovak, Serbian, Swedish, Telugu, Thai, Turkish, Uighur, Ukrainian, Chinese (China), Chinese (Taiwan)
xfburn 0.5.4 (2015-05-16)
============-------------
- Some autoconf modernization
- Use gstreamer 1.0 api
- Restore broken icons
xfburn 0.5.2 (2014-04-09)
============-------------
- Blu-Ray support
- Large file support (iso9660 level 3)
- Small bugfixes
Many thanks to Thomas Schmitt who supplied numerous patches and much debugging
help to make this release with BluRay support possible.
xfburn 0.5.0 (2014-02-20)
============-------------
- Transition to non-deprecated libraries:
- gio
- libxfce4ui
Now it should build fine on modern systems again.
Work done by Jan Rękorajski <baggins@pld-linux.org> and Skunnyk
<skunnyk@archlinux.fr> -- Thanks!
- New icon by Simon Steinbeiß <simon.steinbeiss@gmail.com>
- Bugfixes, with some help of Christoph Wickert, Samuli Suominen, and
Lionel Le Folgoc.
- Hide file browser and toolbar by default (it may be removed in future
versions).
xfburn 0.4.3 (2010-02-12)
============-------------
- Fall back gracefully to use libburn when compiled with HAL support but
when the HAL daemon is not running.
- Again show the volume name in the burn dialog if it has the default value
- By default let libburn autodetect the write mode
- Fix a crash after burning is complete
- Fix a crash when adding files to a composition which was non-empty
- Don't ask unlimited number of times if a disc should get blanked
- Always check for mounted discs before using the drive
xfburn 0.4.2 (2009-07-23)
============-------------
- Internal updates in preparation for better handling of disc detection
- Handle drag and drop of filenames with spaces from nautilus (closes #4992)
- Insert dragged file dropped on top of another file instead of crashing
(closes #5299)
- Properly detect the available space on an audio CD (closes #5302)
- Track ownership of tracks in compositions correctly (closes #5303)
- Resample audio files with gstreamer if necessary (closes #5304)
- Show symbolic links in the file browser (closes #5430)
- Implement the "show hidden files" option (closes #5500)
xfburn 0.4.1 (2009-02-25)
============-------------
- When thunar-vfs is not present, Completely disable drag and drop from
Thunar (and other file managers). Otherwise gtk complains (and potentially
causes errors).
- Adding directories to a composition from within xfburn works again.
- Bump libburn version requirement to 0.5.6, since earlier versions might
trigger a crash in libburn's fifo code. Version 0.4.2 or later will work,
aside from this problem.
- Correctly detect some burners for which HAL reported unexpected values.
- Fall back to libburn-based burner detection if HAL does not find any.
- A man page is now included.
xfburn 0.4.0 (2008-12-20)
============-------------
- Display an error if gstreamer realizes a plugin is missing to decode a file
- Jean-François Wauthy officially retired as maintainer. Thank you for all the
work, p0llux!
- Add symlink as symlink, and not the referenced files to a data composition
- Allow adding hidden files and devices to the composition through the
command line (they are not shown in the file selector)
- Add an entry to Thunar's sendto menu for adding to a data composition
(thanks Mike Massonnet)
- Add directories to a data composition with the correct timestamp
(thanks JR Oldroyd for discovering this)
- Stop button works now
- Drag and drop into an audio composition now adds files in the correct order
- Check that the size of the burn run actually fits on the inserted disc
- Internal and string improvements
xfburn 0.3.91 (2008-11-03)
=============------------
- Use gstreamer to decompress any supported audio files to burn an audio CD ("gst" transcoder)
NOTE: support for this is new, and not too unlikely to have some bugs ;-)
- Burn audio CDs from uncompressed CD audio .wav files ("basic" transcoder)
- Allow drags and drop from file managers like Thunar (text/uri-list target)
- Require HAL if compiled with HAL support
- Try to unmount a drive if it is not accessible (requires thunar-vfs)
- Build list of drives initially from HAL, then fill in details using libburn
once the burn dialog shows up
xfburn 0.3.2 (2008-07-15)
============-------------
- Also set burn speed when burning an image
- Fix bug which would complain about missing speed list when blanking
after the question from the burn composition dialog
- Bugfix: wait in main() to let the dialogs run when there is no main
window
- Update many translations
xfburn 0.3.1 (2008-07-10)
============-------------
- Implemented basic CLI options
- Actually set speed in burn backend
WARNING: my dvd test burn failed if a speed was set!! CD was ok though.
Use "Max" as speed if that is the case for you to get the old behavior,
and _please_ report this as a bug! Please include the console output if
debug is enabled, or otherwise some info on the burner that was used.
- Use fifo buffering, default is 4MB, adjustable in the preferences
- Preserve file attributes
- Now using threads for adding files, and the adding can get aborted
- If the burning dialog comes up with a full but erasable disc in the drive,
prompt to show the blanking dialog
xfburn 0.3.0
============
- Use new libisofs API
- DVD burning
- Formating and deformating of DVD-RW discs
- Removed buttons for not yet working functionality
- Use HAL to update disc status when a disc is inserted / removed
- Disable "Burn composition" button where there is no files in composition
- Use libburn (libburnia-project.org) instead of cdrecord tools
- Avoid adding non regular files (bug #2179)
- Directory are sort before files in data composition
- Fix segfault when removing a file and one of its parent directory together
- Try to use media-optical and media-cdrom as themable icon before gtk-cdrom in order to avoid crappy png icon being shown in Preferences dialog
- Fix icon size in filesystem browser
- Add icons for actions based on icons from the Tango icontheme
- Detect and sort supported write speeds (#4012)
- Add support for writing ISO from a composition using libburn
- Add support for burning a composition using libburn
- Use correct cdrom size (bug #2753)
- Add new icons based on icons from the Tango icontheme
- List columns are resizable now (bug #2930)
xfburn 0.2.0beta
================
- Use g_type_class_add_private everywhere
- Data composition and file browser use ExoTreeView instead of GtkTreeView
- Add DnD inside data composition
- Prevent having two 'New directory' entries in a data composition
- Add support of SAO mode (bug #2121)
- Add create directory action in data composition
- Prevent usage of empty filename in data composition
- Fix xfburn.desktop Categories entry as suggested by Charles A Edwards <eslrahc@bellsouth.net>
- Implement the add button in the data composition toolbar (bug #2097)
- Avoid segfault on exit when ~/.config/xfburn doesn't exist (bug #2095)
- Prevent cdrecord failure if there is a space in the path to an iso (bug #1198)
xfburn 0.1.0alpha
=================
- First public release
- Supports cdrw blanking, cd copying, creating iso, composition of files
==============================================================================
xfburn
------
Version 0.5.5, 2017-12-14
http://www.xfce.org/projects/xfburn/
An easy to use burning software for the xfce desktop environment (but of
course will work with others). It uses libburn and libisofs as a backend, in
difference to most other GUI programs at the moment. Visit
http://www.libburnia-project.org/ for more information about these libraries.
==============================================================================
Functionality
-------------
xfburn is still a new program, and does not yet do all common burning related
tasks.
Currently implemented is:
* Create data compositions
- Burn to CD, DVD, or BluRay (BD)
- Create ISO images
* Burn ISO images
* Create and burn audio CDs
* Blank discs
* Format and deformat DVD-RW discs
At this time there is no multisession support.
Note: Stream Recording disables error management for BD only, which increases
the burning speed. Using it seems to be the best option since discs with
errors tend to fail even when stream recording is disabled.
------------------------
Audio CD support details
------------------------
Included are two transcoders: basic, which just passes through uncompressed
wav data, and gst (gstreamer), which can decode any audio file for which a
gstreamer plugin is present.
The basic transcoder:
- - - - - - - - - - -
Only CD-quality, uncompressed (PCM) Wave files can be added to an audio
compilation. Use i.e. your favority audio player with a disc writer output
mode / plugin to decompress your existing audio files. If .wav files are added
to the compilation, their headers get checked to make sure they are of the
right format. Note that this check is not very well tested (in particular it's
not likely to work on big-endian machines like PowerPC). It does not require
any external libraries
The gst transcoder:
- - - - - - - - - -
Based on the gstreamer library, it can decode pretty much any audio content,
as long as you have the appropriate plugins installed. Note that by default
most distributions do _not_ install these plugins. But a simple search for
gstreamer plugins in your package manager should quickly allow you to install
them.
You can at startup switch between the transcoders, see the command line help
for more information.
==============================================================================
Requirements
------------
* libisofs version 0.6.2 or newer
* libburn version 0.4.2 or newer
WARNING: libburn 0.4.2 - 0.5.4 are API compatible, but might trigger
an error in libburn's fifo code.
RECOMMENDED is version 0.5.6 or newer, where the bug was fixed.
================================
Optional, but highly recommended
--------------------------------
* gstreamer (1.0+, required for burning audio CDs from compressed music
files)
* gstreamer pbutils (they usually come with gstreamer as far as I know)
* gstreamer plugins (look for the good, the bad and the ugly plugin pack,
most likely you want all of these)
Let the ``highly recommended'' part be highlighted once more. Of course
gstreamer will not matter if you do not plan on burning audio CDs, but the
other two libraries will come in handy in almost all situations.
The author works with both hal and thunar-vfs enabled, so there might be the
occasional bug that breaks compilation without these components. Xfburn should
work without these optional components, but it is not well tested at all.
Should something not compile or work as expected, please report a bug, and it
will get fixed.
==============================================================================
Future Plans
------------
Missing functionality that would be nice to have:
* Save and load compositions
* Verification
* Copy discs (needs backend support)
* Automatic checksum creation
* Plugin support
There is no, and never will be, a timeline for these. Let us know if you think
something is missing on this list. If you really need something implemented,
feel free to help us out :-).
At present development is in maintenance mode, as the author does not have a
lot of time.
==============================================================================
Bugs & Feedback
---------------
Any comments are welcome! We aim to make xfburn a very easily usable program.
So if you think something could be implemented differently, feel free to speak
up and it will be considered. Please send all feedbacks to xfburn@xfce.org, or
use the xfce mailing lists. Bugs are best placed in the xfce bugtracker at
http://bugzilla.xfce.org/
Debugging
---------
If xfburn crashes, freezes, or somehow makes no progress for you, then you can
help greatly in debugging the problem. It does require you to build xfburn from
the sources, and to install gdb. If you can handle that, here are the exact
instructions:
1) Rebuild xfburn with debugging support - grab the sources, and run:
$ ./configure --enable-debug=full && make clean all
2) Enable core dumps, then run xfburn until it hangs, or crashes:
$ ulimit -c unlimited; xfburn/xfburn 2>&1 | tee xfburn.output
3) From another terminal, kill xfburn (only if it hasn't crashed already, of coures)
$ kill -SEGV `pidof xfburn`
4) Get a backtrace from the coredump:
$ gdb xfburn/xfburn core.32270 --batch -ex 'thread apply all bt' > xfburn.backtrace
(Note that sometimes the core.xxxxxx file is just called core, and that 32270 is
just an arbitrary number - yours will be different)
5) Open up a bug report at http://bugzilla.xfce.org for xfburn, and add
both the xfburn.output and the xfburn.backtrace files to it. Done!
There is no need to attach the core dump, as it is heavily system dependent.
==============================================================================
License
-------
This program is released under the GNU GPL version 2 or newer. See COPYING for
the full text of the license.
user visible
============
- remove temporary files
- use more thunar-vfs / gio
- add verification of written disc
- add blu-ray support
- add disc info dialog
various fixes and changes
=========================
- cleanup code
- remove duplicated code fragments, in particular
- the burning backend, and [started]
- fix available writing speeds detection (maybe task for libburn?)
- only allow usage of drives with matching capabilities
- when burning ISO image, only show drives capable of
burning to desired disk, or report that we cannot
burn the image if there is no capable drive
(say somebody wants to burn DVD image on
a drive not capable of doing so)
- when burning composition, only show drives capable of
burning desired composition, or report that we cannot
burn the image if no capable drives are found, and
leave all the files previously
added by the user in composition so he could tweak it
- recode copy disk with libburn
- update columns resizing by using column enum index
- take advantage of gvfs in addition to thunar-vfs until thunar-vfs gets deprecated
- disable device selection before image is selected
- once image is selected, populate device selection box
only with appropriate devices (i.e. if it's 1200MB image,
we can't burn it on cd-writer).
- if no suitable writer is found, use that red label thingy
to inform the user
- determine if it's worth it to add advanced burn options dialog to
toggle rockridge and joliet extensions / iso_write_opts profiles
- check for memory leaks while adding files
- check if all the enter/leaving of gdk threads slows adding down
- aborting the adding process can lead to invalid an composition size,
or invalid size of a composition item
disc status should get refreshed
- cairo animation for blanking progress
- allow usage of gtk bookmarks
- make sure that an error pops up if libburn can't grab the drive
- make sure there is always content in the media status label
- find out how to identify a burner from the hal listing, see bug 4957
- fix crash when the user tries to burn a composition with a directory added
from within xfburn
- multisession support
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file</