Alien-Libjio

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

      warn 'your system is a BSD variant but gmake was not found'
        if ($^O =~ /bsd$/);
    }
  }
  $make = $builder->prompt('What is your system "make" command?', $make);

  $builder->notes(make => $make);

  # Figure out if we should do a full install
  my $extra = $builder->y_n('libjio includes other files including Python ' .
    'bindings. Install them too?', 'n');
  $builder->notes(extra => $extra);
}

$builder->create_build_script();

Changes  view on Meta::CPAN


          Update LICENSE and README (no longer generate a readme, just
          use a simple one)

1.0.2     2009-07-01

          New upstream release: libjio 0.51 (release 2009-06-30)

          Better detection with ENV{MAKE} (uses gmake if on BSD)

          There are no Ruby bindings, so remove that from the Build.PL
          prompt asking if they should be installed

1.0.1     2009-06-18

          No longer enforce "one dot only" in filenames. This breaks
          compatibility with OpenVMS.

          Updated perlcriticrc with new preferences, removed "no critic"
          stuff for those in Alien/Libjio.pm

MANIFEST  view on Meta::CPAN

README
dist.ini
examples/libjio-config
inc/My/Builder.pm
lib/Alien/Libjio.pm
libjio/INSTALL
libjio/LICENSE
libjio/Makefile
libjio/README
libjio/UPGRADING
libjio/bindings/preload/Makefile
libjio/bindings/preload/libjio_preload.c
libjio/bindings/python/libjio.c
libjio/bindings/python/setup.py
libjio/doc/assumptions
libjio/doc/guide.rst
libjio/doc/libjio.rst
libjio/doc/source_layout
libjio/doc/tids.rst
libjio/libjio/Makefile
libjio/libjio/ansi.c
libjio/libjio/autosync.c
libjio/libjio/check.c
libjio/libjio/checksum.c

inc/My/Builder.pm  view on Meta::CPAN

sub _chdir_back {
  chdir $ORIG_DIR or Carp::croak("Failed to chdir to $ORIG_DIR: $!");
}

sub ACTION_code {
  my ($self) = @_;

  my $rc = $self->SUPER::ACTION_code;
  if ($self->notes('build_libjio')) {
    # Get into our build directory; either libjio (all) or libjio/libjio
    # (bindings only)
    if ($self->notes('extra')) {
      _chdir_or_die('libjio');
    }
    else {
      _chdir_or_die('libjio', 'libjio');
    }

    # Run the make system to do the rest, but save the return code
    system($self->notes('make'));
    $rc = $? >> 8;

libjio/INSTALL  view on Meta::CPAN



Special builds
--------------

 - To build with debugging information: "make DEBUG=1".
 - To build with profiling support: "make PROFILE=1".
 - To build with fault injection support, if you have libfiu: "make FI=1".


Python bindings
---------------

The library comes with bindings for Python 2 and Python 3. In order to build
them, you should have libjio already installed.

 - To build the Python 2 bindings, run "make python2". To install them, run
   "make python2_install".
 - To build the Python 3 bindings, run "make python3". To install them, run
   "make python3_install".

libjio/Makefile  view on Meta::CPAN



libjio:
	$(MAKE) -C libjio/

install:
	$(MAKE) -C libjio/ install


python2: libjio
	cd bindings/python && python setup.py build

python2_install: python2
	cd bindings/python && python setup.py install

python3: libjio
	cd bindings/python && python3 setup.py build

python3_install: python3
	cd bindings/python && python3 setup.py install


preload:
	$(MAKE) -C bindings/preload/

preload_install: preload
	$(MAKE) -C bindings/preload/ install


clean:
	$(MAKE) -C libjio/ clean
	$(MAKE) -C bindings/preload clean
	rm -rf bindings/python/build/


.PHONY: default all libjio install \
	python2 python2_install python3 python3_install \
	preload preload_install \
	clean

libjio/UPGRADING  view on Meta::CPAN


-> 0.25
  - It is no longer necessary to pass O_SYNC to jopen() if lingering
    transactions are not in use.
  - libjio.h can no longer be included from C++ source without surrounding it
    by an 'extern "C"'. This obviously should only affect C++ applications.

-> 0.24
  - The return values of jfsck() have changed, so applications using it need
    to be recompiled.
  - Python bindings' jfsck(), jfsck_cleanup(), jsync(), jwrite() and jpwrite()
    now raise an IOError on failures.

-> 0.22
  - Applications need to be recompiled due to a change in the jfs structure.

-> 0.20
  - Applications need to be recompiled due to a change in the jfs structure.
  - When you link your applications with libjio, you need to make sure you
    compile using large file support.

libjio/bindings/python/libjio.c  view on Meta::CPAN


/*
 * Python (2 and 3) bindings for libjio
 * Alberto Bertogli (albertito@blitiri.com.ar)
 */

#define PY_SSIZE_T_CLEAN 1

#include <Python.h>

#include <libjio.h>
#include <sys/types.h>
#include <sys/stat.h>



( run in 1.467 second using v1.01-cache-2.11-cpan-2398b32b56e )