#799: Configure should explicitly check for symbolic link capability on Linux
---------------------------------+------------------------------------------
 Reporter:  Austin_Hastings      |        Type:  bug      
   Status:  new                  |    Priority:  minor    
Milestone:                       |   Component:  configure
  Version:  1.3.0                |    Severity:  medium   
 Keywords:  ntfs symbolic links  |        Lang:           
    Patch:                       |    Platform:  linux    
---------------------------------+------------------------------------------

Comment(by jkeenan):

 Replying to [comment:2 Austin_Hastings]:

 I created the following patch:
 {{{
 Index: config/gen/makefiles/root.in
 ===================================================================
 --- config/gen/makefiles/root.in        (revision 39874)
 +++ config/gen/makefiles/root.in        (working copy)
 @@ -894,7 +894,7 @@
  #IF(win32 and cc==gcc):                -Wl,--out-implib=libparrot.lib \
                 $(O_FILES) $(C_LIBS) $(ICU_SHARED)
  #IF(win32):    if exist [email protected] mt.exe -nologo -manifest [email protected]
 -outputresource:$@;2
 -#IF(libparrot_shared_alias):   ( cd @blib_dir@ ; ln -sf
 @libparrot_shared@ @libparrot_shared_alias@ )
 +#IF(libparrot_shared_alias):   ( cd @blib_dir@ ; $(CP) @libparrot_shared@
 @libparrot_shared_alias@ )


  $(INSTALLABLECONFIG) : $(SRC_DIR)/install_config$(O) $(PARROT_CONFIG)
 $(PBC_TO_EXE)
 @@ -2215,7 +2215,7 @@
 ###############################################################################

  release : MANIFEST MANIFEST.generated
 -       [ -d parrot-$(VERSION) ] || ln -s $(CUR_DIR) parrot-$(VERSION)
 +       [ -d parrot-$(VERSION) ] || $(CP) $(CUR_DIR) parrot-$(VERSION)
         @$(RM_F) MANIFEST.real
         mv MANIFEST MANIFEST.real
         grep -v DEVELOPING MANIFEST.real > MANIFEST
 }}}

 On a regular Linux system, I then configured Parrot with
 `--prefix=/topdir/pseudoinstall` so I could observe what happens during an
 installation.  I then called `make && make install && make install-dev`.
 I confirmed that something worked by switching to ''topdir/pseudoinstall''
 and calling `./bin/parrot --version`, with favorable results.  However, I
 don't know what else should be tested to demonstrate this works.

 > [snip]

 >
 > I also have this one:
 {{{
 > release : MANIFEST MANIFEST.generated
 >         [ -d parrot-$(VERSION) ] || ln -s $(CUR_DIR) parrot-$(VERSION)
 >         @$(RM_F) MANIFEST.real
 >         mv MANIFEST MANIFEST.real
 >         grep -v DEVELOPING MANIFEST.real > MANIFEST
 >         $(PERL) -lane
 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' MANIFEST | \
 >     tar -zcv -T - -f parrot-$(VERSION).tar.gz
 >         mv MANIFEST.real MANIFEST
 >         rm parrot-$(VERSION)
 }}}
 >
 > But I have never tried `make release` so it doesn't impact me. (Yet.)

 I, too, have never really tried `make release`.  When I did so -- in the
 same sandbox where I had just configured and built -- I did '''not''' get
 good results:
 {{{
 $ make release
 [ -d parrot-1.3.0-devel ] || /usr/local/bin/perl -MExtUtils::Command -e cp
 . parrot-1.3.0-devel
 mv MANIFEST MANIFEST.real
 grep -v DEVELOPING MANIFEST.real > MANIFEST
 /usr/local/bin/perl -lane
 'print"parrot-1.3.0-devel/$F[0]"unless!length||/#/' MANIFEST | \
     tar -zcv -T - -f parrot-1.3.0-devel.tar.gz
 tar: parrot-1.3.0-devel/CREDITS: Cannot stat: Not a directory
 tar: parrot-1.3.0-devel/ChangeLog: Cannot stat: Not a directory
 tar: parrot-1.3.0-devel/Configure.pl: Cannot stat: Not a directory

 ...
 }}}
 Now, it's quite likely I'm not calling `make release` correctly.  But, in
 any event, I wouldn't advise immediately applying my patch, if only
 because we're having a lot of discussion now about `make install` issues
 and I don't know where this problem/patch fit into that.

 kid51

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/799#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to