[illumos-Developer] review request - webrev for #1045 not clobbering perl build dir

Mike Harsch mike at harschsystems.com
Wed May 18 12:34:06 PDT 2011


Thanks Albert,

I've removed the contrib/copy_contrib target and the reference to 
contrib/copy_contrib from the clobber line.  I'd like to request another 
round of review  -- webrev is here:
http://harschsystems.com/bugs/illumos-1045.2/

Test results:
After running make in usr/src/cmd/perl we have:

-bash-4.0$ ls -l
total 18
drwxr-xr-x   3 mharsch  staff          4 May 18 13:22 5.10.0
drwxr-xr-x   5 mharsch  staff          7 May 18 13:06 contrib
-rw-r--r--   1 mharsch  staff       1782 May 18 13:07 Makefile
-rw-r--r--   1 mharsch  staff       1050 May 17 13:55 req.flg
drwxr-xr-x   2 mharsch  staff          3 May 18 13:08 skel
-bash-4.0$ bldenv ~/mharsch-ws/illumos.sh 'make clobber'
Build type   is  non-DEBUG
RELEASE      is
VERSION      is mharsch-ws
RELEASE_DATE is May 2011

The top-level 'setup' target is available to build headers and tools.

Using /usr/bin/bash as shell.
/export/home/mharsch/mharsch-ws/usr/src/cmd/perl/5.10.0
/usr/bin/rm -f -r 5.10.0
-bash-4.0$ ls -l
total 15
drwxr-xr-x   5 mharsch  staff          7 May 18 13:06 contrib
-rw-r--r--   1 mharsch  staff       1782 May 18 13:07 Makefile
-rw-r--r--   1 mharsch  staff       1050 May 17 13:55 req.flg
drwxr-xr-x   2 mharsch  staff          3 May 18 13:08 skel
-bash-4.0$



On 5/18/2011 1:07 PM, Albert Lee wrote:
> On Wed, May 18, 2011 at 2:19 PM, Mike Harsch<mike at harschsystems.com>  wrote:
>> contrib/copy_contrib isn't a directory, it's an executable copy of
>> contrib/copy_contrib.sh that is generated by the dependency on line 45 of
>> usr/src/cmd/perl/Makefile
>>
>> the comment just above this line talks about fetching copy_contrib from SCCS
>> before calling the specific perl version makefiles.  The commands that end
>> up generating contrib/copy_contrib are:
>>
>> -bash-4.0$ bldenv ~/mharsch-ws/illumos.sh 'make'
>> Build type   is  non-DEBUG
>> RELEASE      is
>> VERSION      is mharsch-ws
>> RELEASE_DATE is May 2011
>>
>> The top-level 'setup' target is available to build headers and tools.
>>
>> Using /usr/bin/bash as shell.
>> /usr/bin/rm -f contrib/copy_contrib
>> cat contrib/copy_contrib.sh>  contrib/copy_contrib
>> chmod +x contrib/copy_contrib
>> /export/home/mharsch/mharsch-ws/usr/src/cmd/perl/5.10.0
>> ...
>>
>> That said, we don't appear to use contrib/copy_contrib, since we invoke
>> contrib/copy_contrib.sh with $(KSH93) in the copy_contrib target for each
>> version of perl (copied over from skel/Makefile).
>>
>>
>> Is the dependency on line 45 of usr/src/cmd/perl/Makefile leftover from some
>> previous state of the build system?  Could someone explain the 'SCCS fetch'
>> reference?
>>
> This part of the tree has seen the SCCS to Mercurial migration (prior
> to OpenSolaris), the addition of Perl 5.10 module support, and removal
> (in illumos) of all of Perl 5.8.
>
> I assume (someone familiar with the TeamWare workflow should correct
> me) the rule which creates contrib/copy_contrib as a executable copy
> of contrib/copy_contrib.sh is a relic of SCCS not preserving file
> permissions as metadata. Not sure why it's described as a "fetch".
>
> skel/Makefile was added relatively recently by John S. for Perl 5.10
> module support, so it's possible that the references to
> contrib/copy_contrib were meant to be removed later. I think you might
> as well do that.
>
> -Albert
>
>> Thanks,
>>
>> Mike
>>
>>
>> On 5/18/2011 10:25 AM, Albert Lee wrote:
>>> Shouldn't clobber either depend on contrib/copy_contrib or use rm -rf,
>>> so that it cannot fail when contrib/copy_contrib is missing?
>>>
>>> I'm unsure as to how contrib/copy_contrib is actually created, though.
>>> skel/Makefile has a target named copy_contrib that runs
>>> contrib/copy_contrib.sh but it doesn't create a new directory.
>>>
>>> -Albert
>>>
>>> On Tue, May 17, 2011 at 5:11 PM, Garrett D'Amore<garrett at damore.org>
>>> wrote:
>>>> Looks good to me.
>>>>
>>>>   -- Garrett D'Amore
>>>>
>>>> On May 17, 2011, at 1:55 PM, Mike Harsch<mike at harschsystems.com>  wrote:
>>>>
>>>>> webrev is here:
>>>>>    http://harschsystems.com/bugs/illumos-1045-webrev/
>>>>>
>>>>> Test Results:
>>>>>
>>>>> After building running make in usr/src/cmd/perl we have:
>>>>>
>>>>> -bash-4.0$ ls -l
>>>>> total 23
>>>>> drwxr-xr-x   3 mharsch  staff          4 May 17 14:16 5.10.0
>>>>> drwxr-xr-x   5 mharsch  staff          8 May 17 14:16 contrib
>>>>> -rw-r--r--   1 mharsch  staff       1819 May 17 13:55 Makefile
>>>>> -rw-r--r--   1 mharsch  staff       1824 May 17 14:12 Makefile.new
>>>>> -rw-r--r--   1 mharsch  staff       1050 May 17 13:55 req.flg
>>>>> drwxr-xr-x   2 mharsch  staff          3 May 17 13:55 skel
>>>>>
>>>>> Now run make clobber
>>>>>
>>>>> -bash-4.0$ bldenv ~/mharsch-ws/illumos.sh 'make clobber'
>>>>> Build type   is  non-DEBUG
>>>>> RELEASE      is
>>>>> VERSION      is mharsch-ws
>>>>> RELEASE_DATE is May 2011
>>>>>
>>>>> The top-level 'setup' target is available to build headers and tools.
>>>>>
>>>>> Using /usr/bin/bash as shell.
>>>>> /export/home/mharsch/mharsch-ws/usr/src/cmd/perl/5.10.0
>>>>> /usr/bin/rm -f -r contrib/copy_contrib
>>>>> -bash-4.0$ ls -l
>>>>> total 23
>>>>> drwxr-xr-x   2 mharsch  staff          3 May 17 14:17 5.10.0
>>>>> drwxr-xr-x   5 mharsch  staff          7 May 17 14:17 contrib
>>>>> -rw-r--r--   1 mharsch  staff       1819 May 17 13:55 Makefile
>>>>> -rw-r--r--   1 mharsch  staff       1824 May 17 14:12 Makefile.new
>>>>> -rw-r--r--   1 mharsch  staff       1050 May 17 13:55 req.flg
>>>>> drwxr-xr-x   2 mharsch  staff          3 May 17 13:55 skel
>>>>>
>>>>> Notice 5.10.0 is still there
>>>>>
>>>>> -bash-4.0$ mv Makefile Makefile.old
>>>>> -bash-4.0$ mv Makefile.new Makefile
>>>>> -bash-4.0$ bldenv ~/mharsch-ws/illumos.sh 'make clobber'
>>>>> Build type   is  non-DEBUG
>>>>> RELEASE      is
>>>>> VERSION      is mharsch-ws
>>>>> RELEASE_DATE is May 2011
>>>>>
>>>>> The top-level 'setup' target is available to build headers and tools.
>>>>>
>>>>> Using /usr/bin/bash as shell.
>>>>> /export/home/mharsch/mharsch-ws/usr/src/cmd/perl/5.10.0
>>>>> /usr/bin/rm -f -r contrib/copy_contrib 5.10.0
>>>>> -bash-4.0$ ls -l
>>>>> total 20
>>>>> drwxr-xr-x   5 mharsch  staff          7 May 17 14:17 contrib
>>>>> -rw-r--r--   1 mharsch  staff       1824 May 17 14:12 Makefile
>>>>> -rw-r--r--   1 mharsch  staff       1819 May 17 13:55 Makefile.old
>>>>> -rw-r--r--   1 mharsch  staff       1050 May 17 13:55 req.flg
>>>>> drwxr-xr-x   2 mharsch  staff          3 May 17 13:55 skel
>>>>> -bash-4.0$
>>>>>
>>>>> _______________________________________________
>>>>> Developer mailing list
>>>>> Developer at lists.illumos.org
>>>>> http://lists.illumos.org/m/listinfo/developer
>>>> _______________________________________________
>>>> Developer mailing list
>>>> Developer at lists.illumos.org
>>>> http://lists.illumos.org/m/listinfo/developer
>>>>
>>




More information about the Developer mailing list