Hello Peter!

On Friday 06 February 2009 Peter Kruse wrote:
> On Fri, Feb 6, 2009 at 2:17 PM, Philipp Marek <[email protected]> wrote:
> >> 1. src/config.h needs
> >>    #define NAME_MAX (FILENAME_MAX)
> >>    that has been reported before but is not
> >>    included in the source distribution
> >
> > This should be solved by an #ifndef.
> ok, that would be great.
Done in r2149.
http://fsvs.tigris.org/source/browse/fsvs/trunk/fsvs/src/config.h.in?r1=2149&r2=2148&pathrev=2149


> >> 2. Solaris does not have strsep() so I had
> >>    to include a replacement, as mentioned in
> >>   
> >> http://www.winehq.org/pipermail/wine-patches/2001-November/001322.html
> >
> > Does Solaris have something similar? That's used only in a single place,
> > and could maybe replaced with something else.
> >
> > Or could you extend configure.in with a test, and if strsep() is not
> > found we can include it (eg. in helper.c):
> >        #ifndef HAVE_STRSEP
> >        char* strsep(char** str, const char* delims)
> >        ...
> >        #endif
>
> the function you find in the above URL seems to work, maybe you could
> just use that?
Wine is LGPL, glibc too ... is that compatible?
Does Solaris provide anything similar?


> >> 3. the Makefile does not use $(DESTDIR) but
> >>    that is required for packaging
> >
> > Could you elaborate a bit, and perhaps send a patch?
>
> if you want to package fsvs, you need to temporarily install
> it in a directory (normally as non-root).  All files found in
> that directory will be included in the package.  Usually
> you can accomplish this by running
> make DESTDIR=/my/package/dir install
> then the files will be installed as:
>
> /my/package/dir/etc/fsvs
> /my/package/dir/var/spool/fsvs
> /my/package/dir/usr/bin/fsvs
>
> so you only have to prepend $(DESTDIR) to the destination directories like
> this:
>
> for d in /etc/fsvs /var/spool/fsvs $(bindir) ; do test -d
> $(DESTDIR)$$d || mkdir -p $(DESTDIR)$$d; done
> cp $(DEST) $(DESTDIR)$(bindir)
Well, the current configure warns
  config.status: WARNING:
    src/Makefile.in seems to ignore the --datarootdir setting
Maybe if that's fixed you could just use
  ./configure --prefix=$DESTDIR
or something like that?

> >> 4. "make install" uses "cp -a" but "-a"
> >>    is no option to "cp" on Solaris
> >
> > Could you send me a patch for configure.in and Makefile.in?
>
> unfortunately I'm not that familiar with that autoconf stuff, but
> cp could probably be replaced with install(1), although I'm
> not 100% sure that the usage is the same on all platforms.
> OTOH a basic call like `install -m 0755' should work.
Patch, please?

> >> 5. in src/options.c replace this:
> >>    .name="softroot", .cp_val=NULL, .parse=opt___normalized_path,
> >>    with that:
> >>    .name="softroot", .cp_val="", .parse=opt___normalized_path,
> >>    otherwise fsvs will dump core on initialization
> >
> > That I can't really explain ... Where did it crash? And why?
> > Could you send me the last few lines (privately, if you like) of
> > a "--enable-debug" configured build, fsvs started with "-d"?
>
> I attach a file where I have used
> .name="softroot", .cp_val="/", .parse=opt___normalized_path,
> and ran `fsvs -d commit -m initial'
>
> and where I left it as
> .name="softroot", .cp_val=NULL, .parse=opt___normalized_path,
> and ran 'fsvs -d help'  but that backtrace is not very long.
> I guess because fsvs does not come very far.  strlen() is
> call with a NULL argument that causes the segmentation fault
> in waa__init():
>
>       setenv(opt__variable_from_option(OPT__SOFTROOT),
>                       opt__get_string(OPT__SOFTROOT), 1);
>
> and in opt__get_string() the reference to
> opt__list[which].cp_val;
> causes the segmentation violation. When I run
> src/fsvs -o softroot=./ help
> the help is displayed, but I'm not sure if other commands will work like
> this.
Ok, that seems to be some Solaris-specific behaviour for setenv().
Does r2150 work for you? 
http://fsvs.tigris.org/source/browse/fsvs/trunk/fsvs/src/waa.c?r1=2150&r2=2149&pathrev=2150


> > But the rest doesn't work, still?
>
> I forgot to mention that configure mentions:
>
> LIBS        libraries to pass to the linker, e.g. -l<library>
>
> but the Makefile uses LDLIBS.  And under Solaris these libraries
> need to be explicitely added: "-lsocket -lnsl -laprutil-1 -lapr-1"
Sigh ... I'd hoped that autoconf would do that for me.
Can you send me the output of 
        $ grep uname config.log
so that I can special-code that for Solaris?


> But some things work, I can add a single file to a repository
> but it dumps core when trying to add a directory.
>
> > Thank you for your feedback (and for your help, I hope ;-).
>
> thank you for your reply.  For now I'm off for the weekend, and
> can work on this issue on thursday and friday next week.
Ok.

Please send me the output of "fsvs ci -mX -d" for the failing commit of a 
directory, and the gcc version.

Thank you!


Happy weekend!


Regards,

Phil


-- 
Versioning your /etc, /home or even your whole installation?
             Try fsvs (fsvs.tigris.org)!

Reply via email to