[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: porting libburnia to kfreebsd



Hi,

Petr Salinger:
> Update of acinclude.m4, libburn/os.h, libburn/sg.c
> will be needed at least.

George initially proposed me to use macro
  __FreeBSD_kernel__
for system detection.
This text snippet brought me to
  http://glibc-bsd.alioth.debian.org/porting/PORTING
where i read this
  Example of triplet check: freebsd* | kfreebsd*-gnu)
  Example of C macro check: defined(__FreeBSD__) || defined(__FreeBSD_kernel__)

So i implemented now:

----------------
In acinclude.m4:

    kfreebsd*-gnu)
      ARCH=freebsd
      LIBBURN_ARCH_LIBS=-lcam
      ;;

----------------
In libburn/os.h:

  #ifdef __FreeBSD_kernel__
  #include "os-freebsd.h"

----------------
In libburn/sg.c:

  #ifdef __FreeBSD_kernel__
  #include "sg-freebsd.c"


------------------------------------------------

Above changes are committed to SVN

  http://svn.libburnia-project.org/libburn/trunk

and there is also a fresh cdrskin development
tarball containing the same sources

  http://scdbackup.sourceforge.net/cdrskin-0.7.5.tar.gz


------------------------------------------------

> Please tell me the detailed recipe for testing.

Test proposal:

If the source was obtained from SVN, then do
  ./bootstrap

For both SVN and tarball do
  ./configure
  make

Then try whether the cdrecord emulator starts up:

  cdrskin/cdrskin -version

It should reply
  cdrskin 0.7.5 : limited cdrecord compatibility wrapper for libburn
  Cdrecord 2.01-Emulation Copyright (C) 2006-2009, see libburnia-project.org
  System adapter    :  internal FreeBSD CAM adapter sg-freebsd
  libburn interface :  0.7.5
  libburn in use    :  0.7.5
  cdrskin version   :  0.7.5
  Version timestamp :  2009.12.29.132537
  Build timestamp   :  -none-given-

The SVN version timestamp may show a newer date
and time. The tarball has: 2009.12.29.134637.

The following would indicate that the FreeBSD
adapter did _not_ come into effect:
  System adapter    :  internal X/Open adapter sg-dummy
The Debian build demon compiles it on kfreebsd
and hurd currently. No CD drives would be
reachable, then.

One may do
  make install
or run
  cdrskin/cdrskin
in the build location. I assume the latter.


I have never run libburn on FreeBSD myself.
The following command should list all drives to
which you have rw-permission. Maybe it lists
others too:

  cdrskin/cdrskin --devices

On Linux i get something like
  ...
  cdrskin: Overview of accessible drives (5 found) :
  -------------------------------------------------------------------
  0  dev='/dev/sr0'  rwrw-- :  'TSSTcorp'  'CDDVDW SH-S203B'
  1  dev='/dev/sr1'  rwrw-- :  'HL-DT-ST'  'BD-RE GGW-H20L'
  2  dev='/dev/sr2'  rwrwrw :  'HL-DT-ST'  'BDDVDRW GGC-H20L'
  3  dev='/dev/hda'  rwrw-- :  'HL-DT-ST'  'DVD-ROM GDR8162B'
  4  dev='/dev/hdc'  rwrw-- :  'LITE-ON '  'LTR-48125S'
  -------------------------------------------------------------------

If you get to see devices and if you have
rw-permission, you should be able to eject and
load the drive tray:

  cdrskin/cdrskin dev=/dev/sr2 -eject
  sleep 5
  cdrskin/cdrskin dev=/dev/sr2 -load


If this works then it should be possible to use
cdrskin for burning CD, DVD and BD media. See

  man cdrskin/cdrskin.1

especially section EXAMPLES.
They should all work with the appropriate media
types.

To get a list of cdrecord compatible options:
  cdrskin/cdrskin -help
For a list of cdrskin specialties use "--help"
with double dash
  cdrskin/cdrskin --help


If you have GUI frontends or scripts which use
cdrecord then it would be interesting whether
they can be tricked into using cdrskin and
whether cdrskin suffices for them.
It offers growisofs-like DVD capabilities in
the skin of cdrecord. That might give old scripts
new potential.

Linux linkers of libburn are:
  xfburn, Brasero (libburn optional), xorriso.

The latter belongs to the libburnia project.
It depends further on our libisofs and libisoburn
which should both be quite portable.
It is a command line tool to produce and burn
ISO 9660 images.
("x" stands for X/Open, not for X Window System.)


------------------------------------------------


Have a nice day :)

Thomas


Reply to: