PSARC/2008/315 - autogen and guile

Kyle McDonald KMcDonald at egenera.com
Tue May 13 07:11:23 PDT 2008


Brian Utterback wrote:
> I hesitate to mention this and if everybody agrees that this is not 
> architecturally or otherwise relevant, I'll shut up, but if you 
> recall, the GNU readline case (PSARC 2007/188) stalled because GNU 
> readline is a library licensed under the GPL rather than the LGPL and 
> thus anything linked with it is likewise under the GPL. So, if guile 
> links with libguilereadline-v-17.so.17.0.3 (which comes with the guile 
> source, but is indeed GPL licensed) then despite what the LICENSE file 
>   for guile says, it is not in reality licensed under LGPL, it is 
> actually bound by the terms of the GPL. So, this presents the same 
> problem that readline did, namely that a developer may unknowingly end 
> up with a product that is bound by the GPL. Now, if the whole issue 
> with readline has been resolved, then great, but I never saw the 
> resolution. Has it been resolved?
>
>   
I thought that shared libraries resolved this, since the 'linking' was 
done at run time by the end user, and not the distributor. The 
distributor is, as I understand it the one that is prevented from 
linking (and then distributing) GPL and non-GPL code. So static linking 
is out, but dynamic linking should be ok, no?

Is that a too simplistic reading of the license?

  -Kyle

> Halton Huo wrote:
>   
>> Hi Steve,
>>
>> AFAIK, binaries under /usr/bin should have man pages. For autogen, man
>> pages are okay. For guile, Only found man page for guile, how about
>> other three: guile-snarf, guile-config, guile-tools?
>>
>> And need these man page files listed in the "Exported Interfaces" form?
>>
>> When I build guile 1.8.5, I got four more files
>> /usr/lib/libguilereadline-v-17.so
>> /usr/lib/libguilereadline-v-17.so.17
>> /usr/lib/libguilereadline-v-17.so.17.0.3
>> /usr/lib/pkgconfig/guile-1.8.pc
>>
>> Do you remove them in purpose?
>>
>> -Halton.
>>
>> On Tue, 2008-05-13 at 11:04 +0800, steve xue wrote:
>>     
>>> Halton Huo wrote:
>>>       
>>>> Give a review on this fast track, comments:
>>>>
>>>> 1. typo
>>>>   /usr/bin/guile-confi should be /usr/bin/guile-config
>>>> 2. no man pages for SUNWguile
>>>>    community do not have, only have info
>>>> 3. no man pages for SUNWautogen
>>>>    community have
>>>>
>>>> -
>>>>         
>>> Thanks Halton!
>>>
>>> I re-sent my materials in this mail, man pages are attached.
>>> plain text document attachment (autogen_fasttrack.txt)
>>> Summary
>>> =======
>>>    Autogen[1] is a tool designed to simplify the creation and maintenance of
>>>    programs that contain large amounts of repetitious text. It is especially
>>>    valuable in programs that have several blocks of text that must be kept
>>>    synchronized.
>>>
>>>    This utility can also be called a code generator, which are programs that
>>>    automatically generate high level code (e.g. C, C++, C#, Java, Perl, Python,
>>>    Ruby, etc.).  These tools range in size and complexity from simple code
>>>    parsers to fully featured class and tier builders. 
>>>
>>>    AutoOpts is bundled with AutoGen. It is a tool that virtually eliminates 
>>>    the hassle of processing options and keeping man pages, info docs and usage 
>>>    text up to date. This package allows you to specify several program attributes,
>>>    up to a hundred option types and many option attributes. From this, 
>>>    it then produces all the code necessary to parse and handle the command line 
>>>    and configuration file options, and the documentation that should go with 
>>>    your program as well.
>>>  
>>>    AutoGen/AutoOpts is a two-part project that serves two separate purposes
>>>    and are inextricably intertwined.
>>>
>>>    Because the implementation of Autogen used guile[2](GNU's extension
>>>    language) and guile is not available now in SFW consolidation, so we decide
>>>    to merge guile porting work together into this case.
>>>
>>>    Guile[2] is a library designed to help programmers create flexible
>>>    applications.  Using Guile in an application allows programmers to write
>>>    plug-ins or modules so the application fit their needs.
>>>  
>>>    Autogen-5.9 will be integrated into the SFW consolidation as part of this
>>>    proposal, and will be installed as SUNWautogen.
>>>
>>>    Guile-1.8.4 will be integrated into the SFW consolidation as part of this
>>>    proposal, and will be installed as SUNWguile
>>>
>>>    This project requests a minor release binding. 
>>>
>>>
>>> Dependencies
>>> ============
>>>
>>>    libltdl    	ltdl - GNU libtool dlopen wrapper 		PSARC/2007/557
>>>    libgmp	GNU Multiple Precision Arithmetic Library	PSARC/2008/166
>>>
>>>
>>> Interfaces
>>> ==========
>>>
>>>    (1) Guile related:
>>>
>>>    Exported Interfaces		Classification	Comment
>>>    -------------------		--------------	-------
>>>    SUNWguile			Uncommitted	Package
>>>    /usr/bin/guile		Uncommitted	Command
>>>    /usr/bin/guile-snarf		Uncommitted	Command
>>>    /usr/bin/guile-config	Uncommitted	Command
>>>    /usr/bin/guile-tools		Uncommitted	Command
>>>
>>>    /usr/lib/libguile.so 	Uncommitted 	Guile library symbol link
>>>    /usr/lib/libguile.so.17.1.2 	Uncommitted 	Guile library
>>>
>>>    /usr/lib/libguile-srfi-srfi-1-v-3.so.3.0.1 
>>> 				Uncommitted	Guile srfi 1 implementation library
>>>    /usr/lib/libguile-srfi-srfi-1-v-3.so
>>> 				Uncommitted	symbol link to 
>>> 						Guile srfi 1 implementation library
>>>
>>>    /usr/lib/libguile-srfi-srfi-4-v-3.so.3.0.1 
>>> 				Uncommitted	Guile srfi 4 implementation library
>>>    /usr/lib/libguile-srfi-srfi-4-v-3.so
>>> 				Uncommitted	symbol link to 
>>> 						Guile srfi 4 implementation library
>>>
>>>    /usr/lib/libguile-srfi-srfi-13-14-v-3.so.3.0.1
>>> 				Uncommitted	Guile srfi 13 and 14 implementation library
>>>    /usr/lib/libguile-srfi-srfi-13-14-v-3.so
>>> 				Uncommitted	symbol link to 
>>> 						Guile srfi 13 and 14 implementation library
>>>
>>>    /usr/lib/libguile-srfi-srfi-60-v-2.so.2.0.2
>>> 				Uncommitted	Guile srfi 60 implementation library
>>>    /usr/lib/libguile-srfi-srfi-60-v-2.so
>>> 				Uncommitted	symbol link to 
>>> 						Guile srfi 60 implementation library
>>>
>>>    /usr/share/guile/		Project Private	Scheme modules
>>>
>>>    /usr/include/libguile.h	Uncommitted	Header files
>>>    /usr/include/libguile	Uncommitted	Header files
>>>    /usr/include/guile/		Uncommitted	Header files
>>>
>>>    Imported Interfaces 		Classification	Comment
>>>    -------------------		--------------	-------
>>>    /usr/lib/libltdl.so		Uncommitted	PSARC/2007/557
>>>    /usr/lib/libgmp.so		Committed	PSARC/2008/166
>>>
>>>    (2) Autogen related:
>>>
>>>    Exported Interfaces		Classification	Comment
>>>    -------------------		--------------	-------
>>>    SUNWautogen			Uncommitted	Package
>>>    /usr/bin/autogen		Uncommitted	Command
>>>    /usr/bin/autoopts-config 	Uncommitted	Command
>>>    /usr/bin/columns		Uncommitted	Command
>>>    /usr/bin/getdefs		Uncommitted	Command
>>>    /usr/bin/xml2ag 		Uncommitted	Command
>>>
>>>    /usr/lib/libguileopts.so	Uncommitted	Libguileopts library symbol
>>>    						link
>>>    /usr/lib/libguileopts.so.0.0.1
>>>    				Uncommitted	Libguileopts library
>>>
>>>    /usr/share/autogen/		Uncommitted 	Templates can be used as autogen command arguments
>>>
>>>    /usr/lib/libopts.so.25.3.0   
>>> 				Uncommitted	Library used by libguileopts.so and autogen
>>>
>>>    /usr/include/autoopts/	Uncommitted	Header files
>>>
>>>    Imported Interfaces 		Classification	Comment
>>>    -------------------		--------------	-------
>>>    /usr/lib/libguile.so 	Uncommitted 	Guile library symbol link
>>>
>>>
>>> Reference Documents
>>> ===================
>>>    [1] http://www.gnu.org/software/autogen/
>>>    [2] http://www.gnu.org/software/guile/
>>>
>>>    RFE ID# 6672584 for autogen
>>>    RFE ID# 6672583 for guile
>>> plain text document attachment (guile.1.txt)
>>>
>>>
>>> User Commands                                            guile(1)
>>>
>>>
>>>
>>> NAME
>>>      guile - a library designed to help programmers create flexi-
>>>      ble applications
>>>
>>> SYNOPSIS
>>>      /usr/bin/guile [OPTION]...
>>>
>>> DESCRIPTION
>>>      Using Guile in an application allows  programmers  to  write
>>>      plug-ins,  or modules (there are many names, but the concept
>>>      is essentially the same) and users to use them  to  have  an
>>>      application fit their needs.
>>>
>>>      For additional information on using guile, see the Info for-
>>>      mat documentation by running the following command from your
>>>      shell:
>>>           /usr/sfw/bin/info guile
>>>
>>>      guile is provided for developers who are working on software
>>>      that  has  already  adopted  it.   However, it is not recom-
>>>      mended that guile be used when developing new software  pro-
>>>      jects.
>>>
>>> ATTRIBUTES
>>>      See attributes(5) for descriptions of the  following  attri-
>>>      butes:
>>>
>>>      _______________________________________
>>>     |   ATTRIBUTE TYPE   |  ATTRIBUTE VALUE|
>>>     |_______________________________________
>>>     | Availability       |  SUNWguile      |
>>>     |_______________________________________
>>>     | Interface Stability|  Uncommitted    |
>>>     |____________________|_________________|
>>>
>>> NOTES
>>>      Source for guile is available on http://opensolaris.org.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> SunOS 5.10          Last change: 08 Mar 2008                    1
>>>
>>>
>>>
>>>       
>
>   




More information about the opensolaris-arc mailing list