Ticket #1159 (closed todo: fixed)

Opened 5 years ago

Last modified 4 years ago

make distcheck target

Reported by: jhoblitt Owned by: jkeenan
Priority: normal Milestone:
Component: build Version:
Severity: medium Keywords:
Cc: whiteknight, cotto, gerd, mikehh Language:
Patch status: applied Platform:

Description

With similar behavior to automake except for an out of tree build test build as we don't support that [yet].

-J

Attachments

make.distcheck.diff Download (2.9 KB) - added by jkeenan 4 years ago.
make.releasecheck.diff Download (3.4 KB) - added by jkeenan 4 years ago.
Updated diff of branch against its own branch-point

Change History

  Changed 5 years ago by coke

  Changed 4 years ago by jkeenan

  • status changed from new to assigned
  • cc whiteknight, cotto added
  • component changed from none to build
  • priority changed from trivial to abandoned
  • owner set to jkeenan
  • type changed from todo to RFC

No one has picked this ticket up since it was first proposed in RT more than five years ago. It's "nice to have", but the fact that we've survived five years without make distcheck indicates the functionality is not essential.

I recommend that we either close it or defer it to Google Code-In at the end of this year. I am taking the ticket and will close it in seven days unless I hear otherwise from the architect or product manager.

Thank you very much.

kid51

P.S. Part of the reason tickets like these remain fallow is that they don't provide enough information to go on. I think these links are relevant:

 automake: Checking the Distribution

 automake: VPATH builds

  Changed 4 years ago by jkeenan

  • priority changed from abandoned to normal
  • status changed from assigned to new
  • type changed from RFC to todo

I decided to rescue this ticket from abandonment. I have created a basic emulation of the specs described in the "Checking the Distribution" link by wrapping make distcheck around a new program, tools/release/distcheck.pl. This may be found in the jkeenan/tt1159_distcheck branch. Am attaching a diff of branch against its branch point. Please review.

Thank you very much.

kid51

Changed 4 years ago by jkeenan

  Changed 4 years ago by jkeenan

  • cc gerd added

cc-ing gerd as March 2011 release manager for comments. Will this be useful?

kid51

  Changed 4 years ago by jkeenan

  • status changed from new to assigned

  Changed 4 years ago by jkeenan

  • cc mikehh added

follow-up: ↓ 8   Changed 4 years ago by gerd

Without having enough time for a closer look to this suggestion here is my comment to it. Indeed I have more questions then answers.

I think a make target "distcheck" would be nice to have but not necessary. It could be useful for users to build Parrot that have not much experience with building software. A successful completed "make distcheck" could give the garantee that the rest of the build will work and may be the first step that is executed at every build.

For me a successful completed "perl Configure.pl" is enough.

Are there any plans to switch to automake on computers that run with UNIX?

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

Replying to gerd:

It could be useful for users to build Parrot that have not much experience with building software.

That's not my understanding of what the original ticket description was requesting. I see this make distcheck as being of use to the Parrot Release Manager. It's not intended for anyone else.

If you examine the code, you will see that this target essentially starts where make release leaves off. It takes the .gz tarball created by make release, unpacks it in a temporary directory, configures, builds and tests. By doing so, it should demonstrate that the tarball can build in any environment.

Would that be useful? If so, does my code get all the details correct? (I'm not sure I handled -devel correctly, but I think I got most of it right.)

Thank you very much.

kid51

  Changed 4 years ago by gerd

Sorry! Now I understand. I think it is better to specifiy the VERSION at the "make release" tag and then to run

$(PERL) $(RELEASE_TOOLS_DIR)/distcheck.pl

The command

make release VERSION=3.2.0

creates a tarball without -devel in the name.

Perhaps the Makefile should include something like:

distcheck : release

make release VERSION=$(SOVERSION) $(PERL) $(RELEASE_TOOLS_DIR)/distcheck.pl

I also do not like the target name. I would prefer a name like release_check or shorter relcheck.

The release manager could run the tests with a shell script if he do not want to type the 4 commands.

I am in a hurry. I will send an email at the weekend.

Bye

  Changed 4 years ago by jkeenan

Gerd,

Thanks for the feedback. Implemented most of your suggestions. Do git pull in branch. Or review new diff added to this ticket.

Thank you very much.

kid51

Changed 4 years ago by jkeenan

Updated diff of branch against its own branch-point

  Changed 4 years ago by jkeenan

  • patch set to new

  Changed 4 years ago by jkeenan

I've added a description of make release_test to the release manager's guide in the branch.

I think the branch is ready to merge into trunk. I will do so in 2-3 days unless anyone has a strong objection.

Thank you very much.

kid51

  Changed 4 years ago by gerd

James,

you added "release_check" in "config/gen/makefiles/root.in" and the description "release_test" in "docs/project/release_manager_guide.pod".

Some work to use the same name befor merging seems to be needed.

I already changed "docs/project/release_manager_guide.pod" in the master branch not to use the "docs" target.

  Changed 4 years ago by jkeenan

Corrections made; branch merged into master at 77fa230. Will keep ticket open for a few days for comments/complaints.

Thank you very much.

kid51

follow-up: ↓ 16   Changed 4 years ago by gerd

I added copyright information to 'tools/release/releasecheck.pl'. Would you like to update the NEWS file?

Gerd

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

  • status changed from assigned to closed
  • resolution set to fixed
  • patch changed from new to applied

Replying to gerd:

I added copyright information to 'tools/release/releasecheck.pl'. Would you like to update the NEWS file?

Done. I think I can safely close the ticket now. Let us know to what extent this make target is useful when doing the March 15 release.

kid51

Note: See TracTickets for help on using tickets.