File libburnia.spec of Package libburnia

# spec file for package libburnia
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

%define libburn_ver    1.3.8
%define libisoburn_ver 1.3.8
%define libisofs_ver   1.3.8

%define libburn_so     4
%define libisoburn_so  1
%define libisofs_so    6

Name:           libburnia
Version:        %{libburn_ver}
Release:        0
Summary:        A project for reading, mastering and writing optical discs
License:        GPL-2.0+
Group:          Productivity/Multimedia/CD/Record
Source100:      libburnia-rpmlintrc
BuildRequires:  libacl-devel
BuildRequires:  libattr-devel
BuildRequires:  pkg-config
BuildRequires:  zlib-devel
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Libburnia is a project for reading, mastering and writing optical discs.
Currently it is comprised of libraries named libisofs, libburn,
libisoburn, a cdrecord emulator named cdrskin, and xorriso, a tool for
creating and manipulating ISO 9660 filesystem images.

%package -n libburnia-tools
Summary:        Tools for Creating and Manipulating ISO 9660 Images and Writing Optical Media
Group:          Productivity/Multimedia/CD/Record
Requires(post): info

%description -n libburnia-tools
Commandline tools provided by the libburnia project including cdrskin, a
cdrecord emulator, and xorriso, a tool for creating and manipulating ISO 9660
filesystem images.

%package -n libburnia-tools-x11
Summary:        GUI for Creating and Manipulating ISO 9660 Images and Writing Optical Media
Group:          Productivity/Multimedia/CD/Record
Requires:       libburnia-tools = %{version}
Requires:       tcl
Requires:       tk

%description -n libburnia-tools-x11
GUI tools provided by the libburnia project, including a frontend to xorriso.

%package -n libburnia-devel
Summary:        Development Files for libisofs, libburn, and libisoburn
Group:          Development/Libraries/C and C++
Requires:       libburn%{libburn_so} = %{libburn_ver}
Requires:       libisoburn%{libisoburn_so} = %{libisoburn_ver}
Requires:       libisofs%{libisofs_so} = %{libisofs_ver}
Provides:       libburn-devel = %{libburn_ver}
Provides:       libisoburn-devel = %{libisoburn_ver}
Provides:       libisofs-devel = %{libisofs_ver}

%description -n libburnia-devel
Development files for developing application using libisofs, libburn,
and libisoburn.

%package -n libburn%{libburn_so}
Version:        %{libburn_ver}
Release:        0
Summary:        Library for Writing Preformatted Data onto Optical Media
Group:          System/Libraries

%description -n libburn%{libburn_so}
Libburn is a library for writing preformatted data onto optical media such as
CD, DVD, BD (Blu-Ray) and also offers a facility for reading data blocks from
its drives without using the normal block device I/O.

%package -n libisoburn%{libisoburn_so}
Version:        %{libisoburn_ver}
Release:        0
Summary:        Frontend for libburn and libisofs
Group:          System/Libraries

%description -n libisoburn%{libisoburn_so}
Libisoburn is a frontend for libraries libburn and libisofs which enables
creation and expansion of ISO-9660 filesystems on all CD/DVD/BD media supported
by libburn. This includes media like DVD+RW, which do not support multi-session
management on media level and even plain disk files or block devices.  Since it
specializes on data files in ISO-9660 filesystem images it is not suitable for
audio (CD-DA) or any other CD layout which does not entirely consist of
ISO-9660 sessions.

%package -n libisofs%{libisofs_so}
Version:        %{libisofs_ver}
Release:        0
Summary:        Library for Creating ISO-9660 Filesystems
Group:          System/Libraries

%description -n libisofs%{libisofs_so}
Libisofs is a library for creating ISO-9660 filesystems with extensions like
RockRidge or Joliet. It is also a full featured ISO-9660 editor, allowing you
to modify an ISO image or multisession disc, including file addition/removal,
change of file names and attributes, etc.

ISO-9660 images can be made bootable from CD, DVD, or BD via an El Torito boot
record and appropriate boot image files from boot managers like GRUB, ISOLINUX,
or system specific boot loaders. It is also possible to install a Master Boot
Record for hard-disk-like media, e.g. USB memory sticks.

Libisofs supports the extension AAIP which allows to store ACLs and xattr in
ISO-9660 filesystems and zisofs compression which is transparently uncompressed
by some Linux kernels. It is possible to have data file content compressed to
gzip format or to have it filtered by an external process.

%setup -q -a 0 -a 1 -a 2 -c -T

TEMP_ROOT=`mktemp -d`
export C_INCLUDE_PATH="$TEMP_ROOT%{_includedir}"
export LIBRARY_PATH="$TEMP_ROOT%{_libdir}"
export PKG_CONFIG_PATH="$TEMP_ROOT%{_libdir}/pkgconfig"

cd libburn-%{libburn_ver}
%configure --disable-static
make %{?_smp_mflags}
make DESTDIR=$TEMP_ROOT install
rm -f $TEMP_ROOT%{_libdir}/*.la

cd ../libisofs-%{libisofs_ver}
%configure --disable-static
make %{?_smp_mflags}
make DESTDIR=$TEMP_ROOT install
rm -f $TEMP_ROOT%{_libdir}/*.la

cd ../libisoburn-%{libisoburn_ver}
%configure --disable-static
make %{?_smp_mflags}
make DESTDIR=$TEMP_ROOT install
rm -f $TEMP_ROOT%{_libdir}/*.la

cd libburn-%{libburn_ver}
cd ../libisofs-%{libisofs_ver}
cd ../libisoburn-%{libisoburn_ver}
rm -f %{buildroot}%{_libdir}/*.la

%post -n libburn%{libburn_so} -p /sbin/ldconfig

%postun -n libburn%{libburn_so} -p /sbin/ldconfig

%post -n libisoburn%{libisoburn_so} -p /sbin/ldconfig

%postun -n libisoburn%{libisoburn_so} -p /sbin/ldconfig

%post -n libisofs%{libisofs_so} -p /sbin/ldconfig

%postun -n libisofs%{libisofs_so} -p /sbin/ldconfig

%post -n libburnia-tools
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info*

%preun -n libburnia-tools
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info*

%files -n libburnia-tools

%files -n libburnia-tools-x11
%doc libisoburn-%{libisoburn_ver}/frontend/README-tcltk

%files -n libburnia-devel

%files -n libburn%{libburn_so}

%files -n libisoburn%{libisoburn_so}
%doc libisoburn-%{libisoburn_ver}/{AUTHORS,COPYING,COPYRIGHT,README,TODO}

%files -n libisofs%{libisofs_so}
%doc libisofs-%{libisofs_ver}/{AUTHORS,COPYING,COPYRIGHT,NEWS,README,TODO}

openSUSE Build Service is sponsored by