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

Re: Any progress with FIS GT.M?



my replies are interleaved with quotes of your email

On Tue, 19 Jun 2012, Luis Ibanez wrote:
>    Here is the status of what we have 
>    done with Brad this afternoon.
>    1) The package for fis-gtm is now building and installing 
>        correctly by using the following git HEAD

yeay!

>    [1]https://github.com/luisibanez/fis-gtm/commit/74aa25e0751a28a08202a13f9f13c79e532c29ab

do not use this one, but rather use straight hackathonjune2012-brad
branch + run

quilt push -a

when you extract that .orig into your packaging (or just use
svn-buildpackage if you do not care really to modify anything in
upstream sources -- it should apply patches while building the package
IIRC).

I have been pedantic and kept updating version in debian/changelog so it
points to the git treeish which I built against, e.g.:

$> head -1 debian/changelog 
fis-gtm (5.5-000+git87-g5b7c3e5-1) UNRELEASED; urgency=low

so you can just look at it in the "upstream" git but cut/pasting just strip debian revision:

$> git show 5.5-000+git87-g5b7c3e5  
commit 5b7c3e51e718bdeb185a8de3dbae7a415c57617b
Author: Brad King <brad.king@kitware.com>
Date:   Mon Jun 18 13:36:35 2012 -0400

    Make rules using 'mumps' depend on executable
    
    This ensures they re-run if the executable changes.

;-)

>         applying to it the following patch to the git sources:
>    diff --git a/sr_unix/configure.gtc b/sr_unix/configure.gtc
>    index 7b3a604..08a83d2 100644
>    --- a/sr_unix/configure.gtc
>    +++ b/sr_unix/configure.gtc
>    @@ -592,7 +592,7 @@ if [ -d "$plugin_gtmcrypt" ]; then
>     
>            # Install gpgagent.tab
>            # This is an external call table so the path to the shared library
>    has to be adjusted
>    -       echo "$gtmdist/plugin/libgtmcrypt.so" >
>    $gtmdist/$plugin/gpgagent.tab
>    +       echo "${gtmdist#${gtm_destdir:-}}/plugin/libgtmcrypt.so" >
>    $gtmdist/$plugin/gpgagent.tab
>            cat $plugin/gpgagent.tab | sed 1d >> $gtmdist/$plugin/gpgagent.tab
>     
>    This change above probably should be setup as a patch in Debian-med SVN
>        debian-med/trunk/packages/fis-gtm/fis-gtm/trunk/debian/patches
>       Yaroslav:  
>       Is this something that should be combined with the existing 
>       patch below ? :
>            fis-gtm/trunk/debian/patches/up_gtm_destdir_substitution
>        since this one also affects the file    sr_unix/configure.gtc.

yes -- I updated the patch in revision 11397

>    2) The debian package is now created correctly, and we manage
>         to install it in the destination directory   /usr/lib/fis-gtm    as 
>         expected.

I always was able to do so :-P  the question always remained the same
though -- "is it usable?" and indeed we seems to be getting really close ;)

>    3) The only remaining problem is that several executables are lacking
>         execution permissions. More specifically, we found that in:
>                           /usr/lib/fis-gtm/V5.5-000_i486
>         The following files do not have execution permissions:
> ...
>    Amul:  Could you help us navigate the internal rules of 
>               gtminstall, to figure out where is it that the execution
>               permissions are being lost ?

+  zhelp still doesn't work for me... installed the generated .deb's and
ran

export gtm_dist=/usr/lib/fis-gtm/V5.5-000_x86_64 ; gtmroutines=$gtm_dist/libgtmutil.so strace -fF -o /tmp/123strace5.log $gtm_dist/mumps -run %XCMD 'zhelp'

looking at strace somewhat worrisome sign:

$> grep open.*RDW /tmp/123strace5.log 
1328  open("/usr/lib/fis-gtm/V5.5-000_x86_64/gtmhelp.dat", O_RDWR) = -1 EACCES (Permission denied)
1328  open("gtmhelp.dmp", O_RDWR|O_CREAT|O_NOCTTY|O_TRUNC, 0600) = 3

WHY is it trying to open gtmhelp.dat for writing? (I might now understand why
permissions had to be "sanitized" ;) )

it does open it RO later on:

open("/usr/lib/fis-gtm/V5.5-000_x86_64/gtmhelp.dat", O_RDONLY) = 3

but then it crashes at the end after:

1328  open("/usr/lib/fis-gtm/V5.5-000_x86_64/_XCMD.m", O_RDONLY) = 3
1328  open("/usr/lib/fis-gtm/V5.5-000_x86_64/GTMHELP.m", O_RDONLY) = 3
1328  open("gtmhelp.dmp", O_RDWR|O_CREAT|O_NOCTTY|O_TRUNC, 0600) = 3
1328  open("/etc/localtime", O_RDONLY)  = 4

leaving me with "gtmhelp.dmp" ... so obviously I also could not run zhelp
while in any non-writable directory, e.g. /usr while not being root

+ after we resolve all the permissions and zhelp issues we should definitely
add few of those simple scripts to be ran as basic smoke tests at package build
time

+ it might be worth creating  /etc/fis-gtm/APIVER/fis-gtm.sh  (and a
corresponding symlink under /etc/fis-gtm for non-api-versioned fis-gtm package)
which  would define all those wonderful environment variables so people could
just source it to start using fis-gtm.

+ I still think I have forgotten smth... we should have kept a TODO ;)

+ ah right -- test/fix packaging on 32bit system ;)

-- 
Yaroslav O. Halchenko
Postdoctoral Fellow,   Department of Psychological and Brain Sciences
Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
WWW:   http://www.linkedin.com/in/yarik        


Reply to: