AFS

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

 * This release does not support AFS system libraries version 3.4 or
   version 3.5
 * Two of the hash key names returned by the VLDB method "listaddrs" have
   changed in version 2.4.1 (see POD doku AFS::VLDB)
 * This release does not support any features and interfaces from
   AFSPerl "version 1"

 User-visible changes:
 * compiles with OpenAFS system libraries version 1.4.12
 * fixed method AFS::VLDB->listvldb: fixed segmentation error
 * improved Makefile.PL script for Perl 5.10.0 and "threaded PIC" libraries
 * updated example scripts for the modules AFS::VLDB and AFS::VOS
 * improved test drivers for the modules AFS::VLDB and AFS::VOS;


 Developer-visible changes:
 * convertet all VERSION variables to "dotted decimal version" with leading "v"
 * changed argument type from "int" to "string" for method AFS::VLDB->removeaddr



CHANGES  view on Meta::CPAN




Version 2.2.3 (released 17 Feb 2005, revision 679)

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5

 User-visible changes:
 * now supports Perl "threaded" version on several platforms
 * fixed method AFS::VOS->backupsys: fixed segmentation error and
   added some error handling
 * fixed method AFS::VLDB->delentry: added some error handling


 Developer-visible changes:
 * modified AFS.xs functions "SendFile", "ReceiveFile",
   and "DoSalvage" to handle "threaded" and "unthreaded" case
 * modified AFS.xs: added dummy functions for "threaded" case
 * redesigned the computing of the VERSION numbers



Version 2.2.2 (released 07 May 2004, revision 627)

 NOTICE:
 * This release does not support AFS system libraries version 3.4 or
   version 3.5
 * This release does ONLY work with Perl "unthreaded" versions (this
   is true for all versions 2.2.X)

 User-visible changes:
 * improved most test drivers;
 * included checks for Perl "unthreaded" version;


 Developer-visible changes:
 * modified AFS.xs function "isafs": patched error handling




Version 2.2.1 (released 09 March 2004, revision 594)

INSTALL  view on Meta::CPAN

        make test
        make install
        make html   ;#(if you want to get the HTML documentation, see also next section)


PLATFORMS
    In the meantime I have only access to Linux machines. Therefore I
    have tested this version of the AFS module bundle only on the Linux
    platform with the following combinations

        OS             @sys         compiler    OpenAFS    Perl   (threaded/non-threaded)
        ---------------------------------------------------------------------------------
        Linux 32-bit   i386_linux26   gcc       1.4.10     5.10.0  non-threaded
                       i386_linux26   gcc       1.4.12     5.10.0  non-threaded
                       i386_linux26   gcc       1.4.14     5.10.0  non-threaded

                       i386_linux26   gcc       1.4.10     5.12.4  non-threaded
                       i386_linux26   gcc       1.4.12     5.12.4  non-threaded
                       i386_linux26   gcc       1.4.14     5.12.4  non-threaded

                       i386_linux26   gcc       1.4.10     5.14.2  non-threaded
                       i386_linux26   gcc       1.4.12     5.14.2  non-threaded
                       i386_linux26   gcc       1.4.14     5.14.2  non-threaded


                       i386_linux26   gcc       1.4.10     5.10.0  threaded
                       i386_linux26   gcc       1.4.12     5.10.0  threaded
                       i386_linux26   gcc       1.4.14     5.10.0  threaded

                       i386_linux26   gcc       1.4.10     5.12.4  threaded
                       i386_linux26   gcc       1.4.12     5.12.4  threaded
                       i386_linux26   gcc       1.4.14     5.12.4  threaded

                       i386_linux26   gcc       1.4.10     5.14.2  threaded
                       i386_linux26   gcc       1.4.12     5.14.2  threaded
                       i386_linux26   gcc       1.4.14     5.14.2  threaded


FEEDBACK
    If you are building the modules on another architecture I would
    appreciate a note to tell me how you got on. Although I am
    particularly interested to hear about any problems you encounter
    when building the system, I would still like to hear from you even
    if you don't.

    Things I particularly would like to know

INSTALL_64  view on Meta::CPAN

    Before you can build the AFS module bundle you need to have the
    following installed on your system:

        * Perl v5.10.0 or newer
        * C compiler
        * OpenAFS system libraries 64-bit version (PIC type or standard)


WHAT TYPE OF OpenAFS SYSTEM LIBRARIES ARE NEEDED
    Depending on the installed Perl version you have to use the proper
    type of OpenAFS system libraries. If you have a "threaded" version
    of Perl, you have to link the AFS modules against the PIC type
    system libraries, for a "non-threaded" Perl you have to use the
    standard libraries.

    To find out what type of Perl you are using, just run the command:

       perl ./test_ptype

    If it says
                'Your Perl is 'Non-Threaded Perl'
    then you need the standard system libraries and you can skip to
    the next section (BUILDING & INSTALLING).

INSTALL_64  view on Meta::CPAN

        make test
        make install
        make html   ;#(if you want to get the HTML documentation, see also next section)


PLATFORMS
    In the meantime I have only access to Linux machines.  Therefore I
    have tested this version of the AFS module bundle only on the
    Linux platform with the following combinations

        OS             @sys         compiler    OpenAFS    Perl   (threaded/non-threaded)
        ---------------------------------------------------------------------------------
        Linux 64-bit   amd64_linux26  gcc       1.4.11     5.10.0  non-threaded
                       amd64_linux26  gcc       1.4.12     5.10.0  non-threaded

                       amd64_linux26  gcc       1.4.12(*)  5.10.0  threaded
                                                (*) => modified libraries libafsrpc.a
                                                       and libafsauthent.a


FEEDBACK
    If you are building the modules on another architecture I would
    appreciate a note to tell me how you got on. Although I am
    particularly interested to hear about any problems you encounter
    when building the system, I would still like to hear from you even
    if you don't.

pod/v2/afsperl.pod  view on Meta::CPAN

B<Venkata Phani Achanta> - for his improved test drivers for several modules

B<David R. Boldt> - for his bug report on an undefined "typemap" entry

B<Alf Wachsmann> and B<Venkata Phani Achanta> - for their implementation
of the BOS, VOS, and VLDB modules

B<Phil Moore> - for his bug report on Itanium ia64 platform

B<Frank Burkhardt> and B<David Miller> - for their problem reports on
Perl "unthreaded" version within the Debian "unstable" distribution

B<Pierre-Yves Fontaniere> - for his configuration report for rs_aix51

B<Chaskiel M Grundman> and B<Derrick J Brashear> - for their valuable
information about threaded OpenAFS libraries

B<Russ Allbery> - for his improvements of the I<threaded case> Makefile.PL

B<Yannick Bergeron> - for his corrections for the AFS::KTC_TOKEN documentation

B<Mike Polek> - for his patch for the AFS::FS::getquota function

B<Peter Scott> - for his problem report on AFS::VOS->listvolume and
for his improvements of the AFS::FS POD documentation

B<Wolfgang Friebel> - for his improvements of the AFS POD documentation

src/Makefile.PL  view on Meta::CPAN

use Config;
use Cwd;
use version 0.77; # get latest bug-fixes and API

my $dir = getcwd;
if ($dir !~ /src$/) { die "Ooops, the Makefile.PL is not sitting in the proper directory\n";}

my $libs;
my $p_flag = '';

if ($Config{usethreads}) {
    # use the threaded version of the AFS libraries for threaded Perl...
    $libs = join (" ", qw(
                          -lbos
                          -lvolser
                          -lvldb
                          -lcmd
                          -lusd
                          -laudit
                          -lc -lafsauthent -lc
                          -lc -lafsrpc -lc
                          -lutil
                         )
                 );
    $p_flag = '-DAFS_PTHREAD_ENV';
}
else {
    # use the unthreaded version of the AFS libraries for unthreaded Perl...
    $libs = join (" ", qw(
                          -lkauth
                          -lprot
                          -lbos
                          -lrx
                          -lvolser
                          -lvldb

                          -lcmd
                          -lubik

src/Makefile.PL  view on Meta::CPAN

if ($v_numb =~ /3.[4,5]/) {
    warn "This release does not support AFS 3.4/3.5 system libraries ...\n";
    if ($ENV{AUTOMATED_TESTING}) { exit 0; }
    die "Script terminated ...\n";
}
#elsif ($alpha_sys =~ /amd64_linux2/) {
#    warn "\nAFS modules on AMD Opteron platforms are currently not supported ...\n";
#    if ($ENV{AUTOMATED_TESTING}) { exit 0; }
#    die "Script terminated ...\n";
#}
elsif ($Config{usethreads} and $v_string !~ /openafs/) {
    warn "\nAFS modules (Threaded Perl) in conjunction with Transarc/IBM AFS is not supported ...\n";
    if ($ENV{AUTOMATED_TESTING}) { exit 0; }
    die "Script terminated ...\n";
}
elsif ($Config{usethreads} and $alpha_sys =~ /amd64_linux2/) {
    if (! -e "$AFSPath/lib/libafsauthent_pic.a" or ! -e "$AFSPath/lib/libafsrpc_pic.a") {
        warn "\nAFS system libraries libafsrpc and/or libafsauthent (PIC) not found ...\n";
        if ($ENV{AUTOMATED_TESTING}) { exit 0; }
        die "Script terminated ...\n";
    }
}
elsif ($Config{usethreads} and $alpha_sys =~ /rs_aix4/) {
    warn "\nAFS modules (Threaded Perl) on AIX platforms are currently not supported ...\n";
    if ($ENV{AUTOMATED_TESTING}) { exit 0; }
    die "Script terminated ...\n";
}

my $m_version = '';
if    ($v_numb =~ /3.4/)   { $m_version = 'AFS 3.4'; }
elsif ($v_numb =~ /3.5/)   { $m_version = 'AFS 3.5'; }
elsif ($v_numb =~ /3.6/)   { $m_version = 'AFS 3.6'; }
elsif ($v_numb =~ /1.0/)   { $m_version = 'OpenAFS 1.0'; }

src/Makefile.PL  view on Meta::CPAN

}

if ($v_numb gt v1.4.11 and $v_string =~ /openafs/) {
    $d_flag .= ' -DOpenAFS_1_4_12';
}

# print out a summary of determined data
print "AFS Version = $v_string v$v_numb \n";
print "Your AFS system libraries are located at:  $AFSPath \n";
print "                  their major version is:  $m_version \n";
print "                  and their type is:       \"pthreaded\"\n" if ($Config{usethreads});
print "Your AFS system type seems to be:          $alpha_sys \n\n";
print "The Compile Flags are set to:              $a_flag \n";
print "                                           $d_flag \n";
print "                                           $e_flag \n";
print "                                           $p_flag\n\n";

# set the Makefile values
my $ccflags = $Config::Config{ccflags} || '';
my %MakefileArgs = (
    'NAME'         => 'AFS',

src/inc/Test/Builder.pm  view on Meta::CPAN

# use of uninitialized value warnings in older perls.
$^C ||= 0;

use strict;
use vars qw($VERSION $CLASS);
$VERSION = '0.17';
$CLASS = __PACKAGE__;

my $IsVMS = $^O eq 'VMS';

# Make Test::Builder thread-safe for ithreads.
BEGIN {
    use Config;
    if( $] >= 5.008 && $Config{useithreads} ) {
        require threads;
        require threads::shared;
        threads::shared->import;
    }
    else {
        *share = sub { 0 };
        *lock  = sub { 0 };
    }
}

use vars qw($Level);
my($Test_Died) = 0;
my($Have_Plan) = 0;

src/inc/Test/Builder.pm  view on Meta::CPAN

    do{ _my_exit(0) && return } if !$Have_Plan && !$Test_Died;

    # Figure out if we passed or failed and print helpful messages.
    if( @Test_Results ) {
        # The plan?  We have no plan.
        if( $No_Plan ) {
            $self->_print("1..$Curr_Test\n") unless $self->no_header;
            $Expected_Tests = $Curr_Test;
        }

        # 5.8.0 threads bug.  Shared arrays will not be auto-extended 
        # by a slice.  Worse, we have to fill in every entry else
        # we'll get an "Invalid value for shared scalar" error
        for my $idx ($#Test_Results..$Expected_Tests-1) {
            my %empty_result = ();
            share(%empty_result);
            $Test_Results[$idx] = \%empty_result
              unless defined $Test_Results[$idx];
        }

        my $num_failed = grep !$_->{'ok'}, @Test_Results[0..$Expected_Tests-1];

src/ppport.h  view on Meta::CPAN

new_warnings_bitfield|||
next_symbol|||
nextargv|||
nextchar|||
ninstr|||n
no_bareword_allowed|||
no_fh_allowed|||
no_op|||
not_a_number|||
not_incrementable|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
oopsAV|||
oopsHV|||
op_append_elem||5.013006|
op_append_list||5.013006|
op_clear|||
op_const_sv|||
op_contextualize||5.013006|
op_dump||5.006000|

src/ppport.h  view on Meta::CPAN

U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT;
#else
extern U32 DPPP_(my_PL_signals);
#endif
#define PL_signals DPPP_(my_PL_signals)

#endif

/* Hint: PL_ppaddr
 * Calling an op via PL_ppaddr requires passing a context argument
 * for threaded builds. Since the context argument is different for
 * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will
 * automatically be defined as the correct argument.
 */

#if (PERL_BCDVERSION <= 0x5005005)
/* Replace: 1 */
#  define PL_ppaddr                 ppaddr
#  define PL_no_modify              no_modify
/* Replace: 0 */
#endif

src/ppport.h  view on Meta::CPAN

        PL_curcop->cop_stash = old_cop_stash;
        PL_curstash = old_curstash;
        PL_curcop->cop_line = oldline;
}
#endif
#endif

/*
 * Boilerplate macros for initializing and accessing interpreter-local
 * data from C.  All statics in extensions should be reworked to use
 * this, if you want to make the extension thread-safe.  See ext/re/re.xs
 * for an example of the use of these macros.
 *
 * Code that uses these macros is responsible for the following:
 * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts"
 * 2. Declare a typedef named my_cxt_t that is a structure that contains
 *    all the data that needs to be interpreter-local.
 * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
 * 4. Use the MY_CXT_INIT macro such that it is called exactly once
 *    (typically put in the BOOT: section).
 * 5. Use the members of the my_cxt_t structure everywhere as

src/ppport.h  view on Meta::CPAN

 * 6. Use the dMY_CXT macro (a declaration) in all the functions that
 *    access MY_CXT.
 */

#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
    defined(PERL_CAPI)    || defined(PERL_IMPLICIT_CONTEXT)

#ifndef START_MY_CXT

/* This must appear in all extensions that define a my_cxt_t structure,
 * right after the definition (i.e. at file scope).  The non-threads
 * case below uses it to declare the data as static. */
#define START_MY_CXT

#if (PERL_BCDVERSION < 0x5004068)
/* Fetches the SV that keeps the per-interpreter data. */
#define dMY_CXT_SV \
        SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
#else /* >= perl5.004_68 */
#define dMY_CXT_SV \
        SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY,             \

src/ppport.h  view on Meta::CPAN

        if (*sp + len <= send && memEQ(*sp, radix, len)) {
            *sp += len;
            return TRUE;
        }
    }
#else
    /* older perls don't have PL_numeric_radix_sv so the radix
     * must manually be requested from locale.h
     */
#include <locale.h>
    dTHR;  /* needed for older threaded perls */
    struct lconv *lc = localeconv();
    char *radix = lc->decimal_point;
    if (radix && IN_LOCALE) {
        STRLEN len = strlen(radix);
        if (*sp + len <= send && memEQ(*sp, radix, len)) {
            *sp += len;
            return TRUE;
        }
    }
#endif

test_ptype  view on Meta::CPAN

#
#     To find out the type of Perl you are using
#
use warnings;
use strict;

use Config;

if ($Config{usethreads}) {
    print "Your Perl is \'Threaded Perl\'\n";
}
else {
    print "Your Perl is \'Non-Threaded Perl\'\n";
}



( run in 0.278 second using v1.01-cache-2.11-cpan-49f99fa48dc )