Libburn umbrella project
Mario Đanić
mario.danic at gmail.com
Thu Sep 7 15:35:28 UTC 2006
Libburn umbrella project
The project comprises of several more or less interdependent parts which
together strive to be a usable foundation for application development.
These are libraries, language bindings, and middleware binaries which emulate
classical (and valuable) Linux tools.
Our scope is currently Linux 2.4 and 2.6. That might chance in the future to
support other operating systems like BSD, Solaris, and Mac, tho we
are not sure about this at this moment.
We do have a workable code base for burning data and audio CDs. The burn API is
quite comprehensively documented (http://libburn-api.pykix.org) and
can be used to build a presentable application.
We do have a functional binary which emulates parts of cdrecord in order to
prove that usability, and in order to allow you to explore libburn's scope
by help of existing cdrecord frontends.
The project components (list subject to growth, hopefully):
- libburn is the library by which preformatted data get onto optical media.
It uses either /dev/sgN (e.g. on kernel 2.4 with ide-scsi) or
/dev/hdX (e.g. on kernel 2.6).
libburn is the foundation of our cdrecord emulation.
- libisofs is the library to pack up hard disk files and directories into a
ISO 9660 disk image. This may then be brought to CD via libburn.
libisofs is to be the foundation of our upcoming mkisofs
emulation (genisofs).
- cdrskin is a limited cdrecord compatibility wrapper for libburn.
Cdrecord is a powerful GPL'ed burn program included in Joerg
Schilling's cdrtools. cdrskin strives to be a second source for
the services traditionally provided by cdrecord.
cdrskin does not contain any bytes copied from cdrecord's sources.
Many bytes have been copied from the message output of cdrecord
runs, though.
See cdrskin/README for more.
- test is a collection of application gestures and examples given by the
authors of the library features. The main API example for libburn
is test/libburner.c .
Explore these examples if you look for inspiration.
We are also currently working on building a python extension (python
2.5) for libburn and libisofs libraries, and we hope we'll be able to
release at least libburn ones along with
our semi-stable 0.2.1 release.
What we are working on here isn't meant to be alternative to schily
stuff, it is meant to be a replacement, and it should also provide
backward compatibility to schily mkisofs and cdrecord thanks to
genisofs (yet to be started), and cdrskin.
Outside our tests, you can try cdrskin with any application which uses cdrecord.
For example you could try to burn a cd with k3b using cdrskin/libburn.
If you want instructions how to talk k3b into doing so, please ask.
Brasero 0.4.90 also has quite functional libburn/libisofs backend if you want
to try it out. http://gnomefiles.org/app.php/Brasero
The project webpage is currently situated at http://libburn.pykix.org
The project could need advise from or membership of skilled kernel
people and people who know how to talk CD/DVD drives into doing
things. Nevertheless, there are a lot of areas where you can
contribute as a developer even if you are not into kernel or talking
cd/dvd drives to do things, there are always genisofs, cdrskin,
libisofs, and not-so-low-lever parts of libburn. We also welcome ruby,
perl, c#/mono folks to create language bindings/extensions. The
project could also use testing efforts and bug reports.
If you have any questions, please don't hesitate to ask.
Kind regards,
Mario
More information about the fedora-devel-list
mailing list