patchPSPP - Patches: patch #6245, Perl Module

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #6245: Perl Module

Submitter:  John Darrington <jmd>
Submitted:  Sat 27 Oct 2007 08:22:30 AM UTC
   
 
Category:  None Item Group:  None
Status:  Done Assigned to:  jmd
Open/Closed:  Closed

Jump to the original submission

Thu 29 Jan 2009 11:49:45 PM UTC, comment #11: 

I've merged the perl-module branch into master.  I'll leave the branch open for a week or so until we're happy that the merge hasn't caused any ill effects.

John Darrington <jmd>
Group administrator
Sat 24 Jan 2009 06:14:43 AM UTC, comment #10: 


>I was simplifying slightly when I said that MakeMaker has no
>uninstall target. It has one, which prints a message asserting
>that uninstalling things is dangerous and must not be attempted.
>So far as I can see, there's not even a "force" option.


It sounds like you made a very reasonable choice then.  IMO, you can go ahead and merge when you want.

Ben Pfaff <blp>
Group administrator
Sat 24 Jan 2009 06:02:35 AM UTC, comment #9: 

I was simplifying slightly when I said that MakeMaker has no uninstall target.  It has one, which prints a message asserting that uninstalling things is dangerous and must not be attempted. So far as I can see, there's not even a "force" option.

It is, no doubt, possible to circumvent MakeMaker's paranoia, but then I'd end up having to hack a lot of the perl infrastructure.  Given the current state of affairs, I decided that the best way to conform to both the perl and gnits standards is not to automatically install the module.

Had I known at the outset everything I know now, I have chosen not to use MakeMaker, but that's just how things worked out ...

John Darrington <jmd>
Group administrator
Fri 23 Jan 2009 04:53:42 AM UTC, comment #8: 

The COPYING file in the perl-module directory is the GPL version 2.  AFAICT, Perl is licensed under GPL 1 or later, so I think that we can (and should) use GPLv3 here instead.

>perl's MakeMaker utility has no "make uninstall" target, which
>gnits insists upon.


It should be possible to add targets to the generated makefile.  The ExtUtils::MakeMaker documentation says this:

$Here is a simple example of how to add a new target to the $generated Makefile:
$
$    sub MY::postamble {
$        return <<'MAKE_FRAG';
$    $(MYEXTLIB): sdbm/Makefile
$            cd sdbm && $(MAKE) all
$
$    MAKE_FRAG
$    }

I got that from http://perldoc.perl.org/ExtUtils/MakeMaker.html

FWIW, the Automake manual lists the following standard targets:

$Here is a list of the most useful targets that the GNU Coding Standards specify.
$
$make all
$    Build programs, libraries, documentation, etc. (same as make).
$make install
$    Install what needs to be installed, copying the files from the package's tree to system-wide directories.
$make install-strip
$    Same as make install, then strip debugging symbols. Some users like to trade space for useful bug reports...
$make uninstall
$    The opposite of make install: erase the installed files. (This needs to be run from the same build tree that was installed.)
$make clean
$    Erase from the build tree the files built by make all.
$make distclean
$    Additionally erase anything ./configure created.
$make check
$    Run the test suite, if any.
$make installcheck
$    Check the installed programs or libraries, if supported.
$make dist
$    Recreate package-version.tar.gz from all the source files.

>If everyone's happy with this, then I'll merge it into master.


I have no objection.  (I didn't try to build it, but it looks good enough to me that we can fix whatever we find after it's merged.)

Ben Pfaff <blp>
Group administrator
Thu 22 Jan 2009 11:03:35 PM UTC, comment #7: 

I've created a new branch called perl-module which contains an updated version of this patch.  This version features: the ability to read (as well as write) system files, and building/testing of the module is integrated into the pspp build system.

The only caveat is that "make install" won't install the module.  To do that, one has to change directory into the perl-install module and type "make install" there.   This is unavoidable, since perl's MakeMaker utility has no "make uninstall" target, which gnits insists upon.

If everyone's happy with this, then I'll merge it into master.

John Darrington <jmd>
Group administrator
Tue 16 Dec 2008 12:13:56 PM UTC, comment #6: 

The problem here is that Perl's "Makemaker" http://perldoc.perl.org/ExtUtils/MakeMaker.html which the perl people like modules to be built with, doesn't integrate at all well with automake.

In particular building outside source directory is highly problematic.   So far I've been unable to integrate the module into the build and get a clean "make distcheck".

John Darrington <jmd>
Group administrator
Fri 10 Oct 2008 05:42:09 AM UTC, comment #5: 


>It really ought to be checked in to the repository, but I'm
>currently in several minds about the best way to do this, whilst
>keeping it the style that the CPAN people recommend.


Care to raise any points for discussion of this?

Ben Pfaff <blp>
Group administrator
Sun 05 Oct 2008 10:05:59 AM UTC, comment #4: 

I've updated this patch to build against the current master ( 95b074ff35a88a1cca2ab277aaa76ccf3fbfd43e ) .

It really ought to be checked in to the repository, but I'm currently in several minds about the best way to do this, whilst keeping it the style that the CPAN people recommend.

(file #16608)

John Darrington <jmd>
Group administrator
Thu 01 Nov 2007 09:40:43 AM UTC, comment #3: 

Ben writes:
 The paragraphs following "=head2 Variables with differing input and output formats" don't make much sense to me. I don't understand where input formats come into the picture.

Sometimes it's useful to create data using one particular format, but that's intended to be read in another.  Dates are the most common example (that I can think of).  For a programmer, it's convenient to represent dates numerically.  But presumably he intends them to be interpreted as date values.  So the input format is F8.2, but the output format is DATETIME22, for example.

John Darrington <jmd>
Group administrator
Tue 30 Oct 2007 06:53:10 PM UTC, comment #2: 

The patch worked fine, but make test failed for PSPP.pm:

> make test

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Pspp..../usr/bin/perl:/home/jhs/src/pspp-perl/blib/arch/auto/PSPP/PSPP.so: undefined symbol 'libintl_gettext'

Jason H Stover <jstover>
Group Member
Sun 28 Oct 2007 06:23:46 PM UTC, comment #1: 

This looks great.  I'd be happy to have it in the source tree.  Maybe it will encourage people to write more extensive Perl bindings (for example, for system file input) or bindings to other languages such as Python.

The patch for using isfinite is similar to the one in patch #6246 (which I wrote before looking at the Perl patch).

The paragraphs following "=head2  Variables with differing input and output formats" don't make much sense to me.  I don't understand where input formats come into the picture.  The note about difference between PSPP and Perl epochs is definitely valuable, though.

Should there be a way to add a missing value range?

Ben Pfaff <blp>
Group administrator
Sat 27 Oct 2007 08:22:30 AM UTC, original submission:  

Here is the perl module. Two files are attached.  The first is a patch which must be applied to the latest CVS head.  The second is a tarball containing the source for the module.  Follow the instructions in the README file.

John Darrington <jmd>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #16608:  PsppPerlModule.tar.gz added by jmd (46KiB - application/x-gzip)
file #14229:  PSPP.pm.tar.gz added by jmd (51KiB - application/x-gzip)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jstover (Posted a comment)
  • -email is unavailable- added by blp (Posted a comment)
  • -email is unavailable- added by jmd (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-01-29 jmd StatusReady For Test/Review Done
        Open/ClosedOpen Closed
    2008-10-05 jmd Attached File- Added PsppPerlModule.tar.gz, #16608
    2008-10-05 jmd Attached File#14228 Removed
    2007-10-28 blp Assigned toNone jmd
    2007-10-27 jmd Attached File- Added perl-pspp.patch, #14228
        Attached File- Added PSPP.pm.tar.gz, #14229

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code