Ticket #2185 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

"nmake release" fails on windows

Reported by: coke Owned by: coke
Priority: minor Milestone:
Component: none Version: master
Severity: medium Keywords:
Cc: Language:
Patch status: applied Platform: win32

Description (last modified by coke) (diff)

nmake release is using the following unix-isms:

[ shell test operator
ln -s
tar
mv
grep
tar
rm

No reason this couldn't be replaced en masse with a perl script that depends on Archive::Tar. (core in 5.9.3 and above, and "make release" already has non-perl-core deps anyway.)

Change History

  Changed 3 years ago by coke

  • description modified (diff)

  Changed 3 years ago by coke

  • owner set to coke

  Changed 3 years ago by coke

see the tt_2185 branch.

follow-up: ↓ 7   Changed 3 years ago by coke

with that branch, I'm able to generate the compressed tars and the checksums.

Please verify and/or sanitize the code.

Only issue is that the bzip2 compression used by default seems to be not as good as running bzip2 by hand.

  Changed 3 years ago by jkeenan

  • component changed from none to configure

  Changed 3 years ago by coke

  • component changed from configure to none

This doesn't really have anything to do with configure.

in reply to: ↑ 4   Changed 3 years ago by jkeenan

Replying to coke:

with that branch, I'm able to generate the compressed tars and the checksums. Please verify and/or sanitize the code.

Coke, excellent use of Perl 5 core module to solve cross-platform problem.

I had to add tools/release/cut.pl to the MANIFEST. Can you check that this works on Windows?

perl Configure.pl && nmake relcheck

Thank you very much.

kid51

follow-up: ↓ 10   Changed 3 years ago by coke

once you apply 22685301f804796c428df018f4aa310a316769a9, you then trip over:

  • invoking 'tar'
  • assuming that a Configure.pl with no options works.
  • that "make" is $(MAKE)

This target might make sense if you could pull those settings from your build directory and use them.

follow-up: ↓ 11   Changed 3 years ago by cotto

$(MAKE) and Configure.pl's args can be taken from parrot_config make and parrot_config configure_args. tar can be faked with Archive::Tar. I'll do this in the next day or so if nobody else is more ambitious.

in reply to: ↑ 8   Changed 3 years ago by jkeenan

Replying to coke:

* assuming that a Configure.pl with no options works.

When cutting a release, wouldn't Configure.pl with no options always be the way to go? (Just wonderin'.)

Thank you very much.

kid51

in reply to: ↑ 9   Changed 3 years ago by jkeenan

  • patch set to applied

Replying to cotto:

$(MAKE) and Configure.pl's args can be taken from parrot_config make and parrot_config configure_args. tar can be faked with Archive::Tar. I'll do this in the next day or so if nobody else is more ambitious.

With commits up through 5009472d31, I believe I've addressed the make and tar problems. Please review in branch and refine.

Thank you very much.

kid51

follow-up: ↓ 13   Changed 3 years ago by coke

On Wed, Aug 24, 2011 at 9:46 PM, Parrot <parrot-tickets@lists.parrot.org> wrote:
> #2185: "nmake release" fails on windows
> --------------------+-------------------------------------------------------
>  Reporter:  coke    |       Owner:  coke
>     Type:  bug     |      Status:  new
>  Priority:  minor   |   Milestone:
> Component:  none    |     Version:  master
>  Severity:  medium  |    Keywords:
>     Lang:          |       Patch:
>  Platform:  win32   |
> --------------------+-------------------------------------------------------
>
> Comment(by jkeenan):
>
>  Replying to [comment:8 coke]:
>  >    * assuming that a Configure.pl with no options works.
>
>  When cutting a release, wouldn't ''Configure.pl'' with no options
>  '''always''' be the way to go?  (Just wonderin'.)
>
>  Thank you very much.
>
>  kid51
>
> --
> Ticket URL: <https://trac.parrot.org/parrot/ticket/2185#comment:10>
> Parrot <https://trac.parrot.org/parrot/>
> Parrot Development
>

relcheck is actually building parrot and running make test. you need a
real set of configure options for that, which on windows is not empty.

(oddly, it also then tries to do a make release from INSIDE the
tarball directory. I'm not sure why that would be helpful.)

-- 
Will "Coke" Coleda

in reply to: ↑ 12   Changed 3 years ago by jkeenan

Replying to coke:

{{{ relcheck is actually building parrot and running make test. you need a real set of configure options for that, which on windows is not empty. (oddly, it also then tries to do a make release from INSIDE the tarball directory. I'm not sure why that would be helpful.)

I've addressed these concerns in commits up through  0ce783fde5. Tested on Linux and Darwin; please re-test on Win32.

Thank you very much.

kid51

  Changed 3 years ago by cotto

  • status changed from new to closed
  • resolution set to fixed

I've got relcheck to the point where it runs on windows in the tt_2185 branch. The tests run and pass after a quick fix from kid51++. I've merged the changes into master, deleted the branch and I'm now marking this ticket as fixed. Thanks to all involved!

Note: See TracTickets for help on using tickets.