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

Albert Lee trisk at opensolaris.org
Wed May 18 12:07:01 PDT 2011


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