Vivek,

See below ...

Paul

Vivek Titarmare wrote:
> The new webrev url is
> http://cr.opensolaris.org/~vivekrt/6816397-antlr277
>>
>> Pl. see my comments INLINE.
>>

>>
>> Vivek Titarmare wrote:
>>> As mentioned below almost all the points are updated and the new webrev
>>> is uploaded. The url is http://cr.opensolaris.org/~vivekrt/antlr277.
>>>
>>> Couple of points to note is as follows:
>>>
>>> 1. Point Number 11 could not be completed as we are working on
>>>    categories
>>>    and sub-categories for the bugID to be filed. So I have
>>>    mentioned Pending
>>>    in METADATA file. 
>>> 2. Secondly the build.xml is completely removed and the code
>>>    is tested  after removing.

>>>>> I have posted a webrev for the package "antlr277" which I am porting 
>>>>> to OpenSolaris and would like to request a code review.

  .... cut ...

>>
>> 2. usr/src/lib/antlr277/Makefile.sfw
>>     The configure line doesn't look right to me ...
>>      45    ./configure --prefix=${ROOT}/usr/share/lib/antlr2.7.7
>>     the prefix normally tell the configuration where the built
>>     executables will run from at runtime, ie. /usr/... but
>>     your prefix is saying it will run from the workspace's
>>     proto area. So it should probably be ....
>>      ./configure --prefix=$(CFGPREFIX)/share/lib/antlr2.7.7
>>     where CFGPREFIX is defined in Makefile.master
>>
>>     Similarly the configure line ...
>>      35          $(GMAKE) install
>>     doesn't tell it to install in the ws proto area, it probably
>>     needs DESTDIR (or whatever) defined.

> [VIVEK] a. As per INSTALL.txt provided by ANTLR ( antlr-2.7.7.tar.gz) ,
> --prefix is to be used for specifying INSTALLDIR . The same thing is being
> used in the Makefile. Do you want us to change that (this may trigger
> changes in the original files in the tar)

Normally that is the install dir where it will run it from, ie. 
/usr/.... but you have defined it as $(ROOT)/usr which is the proto area 
in the build workspace (ws) - the ws proto area is only a temporary 
install place while you create the SUNW package - so your configure 
prefix should be ...
    ./configure --prefix=$(CFGPREFIX)
but you could use the CONFIGURE_OPTIONS (defined in Makefile.master) 
method instead, eg ...
    ./configure $(CONFIGURE_OPTIONS)
as you no longer seem to be installing into /usr/share/lib/antlr2.7.7

>
> [VIVEK]       c. Moved "$(GMAKE) install"  from  target "all" to
> "install": Is this change correct?

well the place is right, but ...
Doesn't it need to know to install it (temporarily) into the ws proto 
area (when you have changed the 'configure --prefix' above).

>> 4. antlr277 in workspace pathname
>>     Why have you got the version 277 in the pathnames, it should
>>     probably be just usr/src/lib/antlr/....
>>
>>     Same also applies to the SUNW package name SUNWantlr277, it
>>     should probably just be SUNWantlr
>>
>>     And the man page name sunman/antlr277.3
>>
>>     otherwise this will all have to change again for the next
>>     revision update from the opensource community.
>>
> [VIVEK] Antlr277 is because we are also going to integrate antlr 3.0 which
> is a part of Drools dependency and antlr 3.0 would actually go in antlr
> folder as you mentioned. Two names are registered namely SUNWantlr277 and
> SUNWantlr.
> Same is the case with manpages which would probably look for antlr277
> initially but when antlr comes end users can use only antlr (which would
> contain all the information)
> FYI:: antlr 3.0 requires antlr277 and StringTemplate as a dependency. Both
> packages would come soon for code review (once antlr277 is finalized).

So is it possible that in the future you, or someone-else at Sun, may 
need/want to update this to version 2.n.x? If so it might be better if 
the directory, etc., was just antlr2 (just checking).


>> 7. usr/src/pkgdefs/Makefile
>>     You need to resync with the gate otherwise looks as though
>>     you are deleting stuff.
>>
> [VIVEK]  Done. "wx co" before editing file.

It still looks as though you are trying to delete stuff you don't want 
to (in the webrev page).

>>
>> 9. usr/src/pkgdefs/SUNWantlr277/copyright
>>     Is this the full "BCD License" text, if not you need to
>>     include it (I think).
>>
> [VIVEK] Actually these licenses are copied from the approved OSR which we
> had put while filing the OSR. BSD license are picked up from antlr. Should
> we be copying it from anywhere else, let me know.

Okay if you think it is okay (I was just checking)

>> 11. usr/src/pkgdefs/SUNWantlr277/prototype_com
>>     Remove the write permission bit on files installed into
>>     /usr/....  ie. ...
>>      54 f none usr/share/lib/antlr2.7.7/bin/antlr 0755 root root
>>     and any others.
>>
>> [VIVEK] 
>       f none usr/bin/antlr 0755 root root
>       f none usr/bin/antlr-config 0755 root root
>       Both the above files are extracted and installed from antlr
> tar/Makefile file. Nothing is changed by us manually. Do we need to change
> default permission and then generate the prototype_com file?

The normal way to do it when you use the pkg's own 'make install' is to 
set the correct permissions in the SUNWantlr277/prototype_* files and 
then run the tools/protofix tool on the SUNW pkg. See good example in ..
"http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/cups/Makefile.sfw";

>> 12. Install path usr/share/lib/antlr2.7.7/bin
>>      Why is this pkg installed hidden away rather than
>>      in /usr/bin ?
>>
> [VIVEK]  Changed to  /usr/bin.

okay so we now have /usr/bin/antlr (and antlr-config). Ah, but when 
antlr 3.0 is integrated will there be another bin/antlr executable? If 
so what will happen then?

Speaking about bin/antlr, shouldn't there be a man page for it as your 
antlr277.3 doesn't mention it.


Additional comments ...

1. usr/src/Targetdirs
    This needs resyncing with the gate otherwise it looks
    as though you are try to delete stuff.

2. usr/src/lib/antlr277/Makefile.sfw
    GMAKE line  ...
     33 GMAKE=/usr/sfw/bin/gmake
    is already defined in Makefile.master so you don't
    need to redefine it

4. usr/src/pkgdefs/SUNWantlr277/prototype_com
    You need to add the directory lines for the
    following ..
     d none usr
     d none usr/bin
     d none usr/share
     etc.

3. usr/src/pkgdefs/SUNWantlr277/prototype_com
     & usr/src/lib/antlr277/Makefile.sfw
    The SUNW pkg now installs stuff as ..
      53 f none usr/bin/....
      56 d none usr/share/antlr-2.7.7
      63 d none usr/share/doc/antlr-2.7.7
    does your current 'configure' options in Makefile.sfw
    allow this to happen? ie, does it add on the
    share/antlr-2.7.7 and doc/antlr-2.7.7 bits when it
    installs into the proto area.


Everything else looks okay

-- 
----------------------------------------------------------------------
Paul Cunningham
Software Engineer
Tadpole Business Unit

Reply via email to