Skip to content

Clean up release-process.md and make descriptors more consistent#4271

Closed
Michagogo wants to merge 3 commits intobitcoin:masterfrom
Michagogo:cleanup-after-osx-gitian
Closed

Clean up release-process.md and make descriptors more consistent#4271
Michagogo wants to merge 3 commits intobitcoin:masterfrom
Michagogo:cleanup-after-osx-gitian

Conversation

@Michagogo
Copy link
Copy Markdown
Contributor

This addresses some (but not all) of the issues in #4185. It cleans up a
few things in release-process.md (such as indents) and makes the
descriptors more consistent, in terms of style and also naming (both of
the descriptors and the intermediate inputs). This doesn't change any of
the actual build scripts, other than to change the file names -- I didn't
want to accidentally break anything, though it looks like there are a few
things that could be improved and made more consistent. The big change
that it would be nice if someone were to make is to switch the OS X
intermediates from tarballs to zips for more consistency. I didn't do
that, because I don't know the details of how tar and zip/unzip work on
the command line, especially when it comes to determinism.

@Michagogo
Copy link
Copy Markdown
Contributor Author

Note that in release-process.md, some parts still need to be updated and OS X added. I only updated the steps that each gitian builder follows.

@laanwj
Copy link
Copy Markdown
Member

laanwj commented Jun 2, 2014

I'm sure there is a good reason to use .tar.gzs instead of zips for the intermediate dependencies. For example for qt-linux32-4.6.4-gitian I used a .tar.gz because I needed support for symlinks.

@Michagogo
Copy link
Copy Markdown
Contributor Author

@laanwj Well, there may be -- but other things (such as the descriptor names) suggest that the OS X descriptors may have been made independently from the current ones, rather than in coordination, consistent with the current ones.

@theuni, could you comment? Was there a specific reason you went with tarballs?

@theuni
Copy link
Copy Markdown
Member

theuni commented Jun 5, 2014

@Michagogo OSX makes extensive use of symlinks, and I was more comfortable doing that with tarballs. If zips get the job done, I don't mind using 'em.

@Michagogo
Copy link
Copy Markdown
Contributor Author

It seems that the OS X intermediates do match... Adding that. Also, I think that before 0.9.2 becomes final, the OS X descriptor should be changed to output a source tarball, which should then be packaged into a versioned zip like Windows and Linux are atm.

@Michagogo
Copy link
Copy Markdown
Contributor Author

@theuni Well, I don't know if they get the job done... I, personally, would prefer a switch to .zips if possible (i.e. doesn't include symlinks?), but it's not that critical.

@Michagogo
Copy link
Copy Markdown
Contributor Author

Bleh. I'll rebase tomorrow or Sunday or something.

On Fri, Jun 6, 2014 at 3:25 AM, BitcoinPullTester notifications@github.com
wrote:

Automatic sanity-testing: FAILED MERGE, see
http://jenkins.bluematt.me/pull-tester/ff7ed723be85b8492a707092e030c5453a4c6f37
for test log.

This pull does not merge cleanly onto current master

This test script verifies pulls every time they are updated. It, however,
dies sometimes and fails to test properly. If you are waiting on a test,
please check timestamps to verify that the test.log is moving at
http://jenkins.bluematt.me/pull-tester/current/
Contact BlueMatt on freenode if something looks broken.

Reply to this email directly or view it on GitHub
#4271 (comment).

@laanwj
Copy link
Copy Markdown
Member

laanwj commented Jun 6, 2014

@theuni If we were to standardize on any format for the intermediate dependencies (which I don't see any point of, and wouldn't give any priority), I think it'd be better to standardize on tarballs. Tar wins in capabilities, as it supports symlinks et al by default. Zip is harder to get deterministic if you enable UNIX extensions, no way to force certain permissions/ownership like tar has.

@theuni
Copy link
Copy Markdown
Member

theuni commented Jun 6, 2014

@laanwj Completely agreed (which is why I've used tarballs when given the choice), I was just trying to be agreeable here :)

@Michagogo
Copy link
Copy Markdown
Contributor Author

Tarballs would also be fine, although there's the (very slight) benefit of
being able to tell source tarballs apart from intermediate zips.

On Fri, Jun 6, 2014 at 7:39 AM, Cory Fields notifications@github.com
wrote:

@laanwj https://github.com/laanwj Completely agreed (which is why I've
used tarballs when given the choice), I was just trying to be agreeable
here :)


Reply to this email directly or view it on GitHub
#4271 (comment).

@laanwj
Copy link
Copy Markdown
Member

laanwj commented Jun 6, 2014

@Michagogo Good point there, although something could be said that that distinction should not be made based on file name. The current grab-bag inputs directory is a hack in itself.

It would be better if gitian could source from multiple inputs directories so the intermediate files could live in their own directories. Combined with support for output to a configurable directory, the move/copy step after dependency builds could be skipped completely (also making it impossible to forget it!).

Micha added 2 commits June 26, 2014 12:56
This addresses some (but not all) of the issues in bitcoin#4185. It cleans up a
few things in release-process.md (such as indents) and makes the
descriptors more consistent, in terms of style and also naming (both of
the descriptors and the intermediate inputs). This doesn't change any of
the actual build scripts, other than to change the file names -- I didn't
want to accidentally break anything, though it looks like there are a few
things that could be improved and made more consistent. The big change
that it would be nice if someone were to make is to switch the OS X
intermediates from tarballs to zips for more consistency. I didn't do
that, because I don't know the details of how tar and zip/unzip work on
the command line, especially when it comes to determinism.
Also, reorder existing hashes to match build order
@Michagogo
Copy link
Copy Markdown
Contributor Author

Rebased, I think.

@Michagogo
Copy link
Copy Markdown
Contributor Author

Erm, looks like I missed one conflict when rebasing. Fixed.

@BitcoinPullTester
Copy link
Copy Markdown

Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/p4271_17601d359d8dd693cef59cd1d268c1bea0cf4d6d/ for binaries and test log.
This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/
Contact BlueMatt on freenode if something looks broken.

@laanwj
Copy link
Copy Markdown
Member

laanwj commented Jul 1, 2014

Going to close this. @theuni is working on a lot of changes in the gitian dependency handling and pulltester and this would interfere. Any consistency changes should be taken into account then.

@laanwj laanwj closed this Jul 1, 2014
@Michagogo
Copy link
Copy Markdown
Contributor Author

@laanwj How would you feel about a version of this that doesn't include the changes to the actual descriptor filenames and output/input names, but rather is limited to the cleanup of r-p.md itself?

@laanwj
Copy link
Copy Markdown
Member

laanwj commented Jul 1, 2014

No problem with pure documentation changes

@Michagogo
Copy link
Copy Markdown
Contributor Author

@laanwj And what about the change from gitian.sigs/${VERSION}[-win|-osx] to gitian.sigs/${VERSION}-<linux|win|osx>?

Michagogo pushed a commit to Michagogo/bitcoin that referenced this pull request Jul 1, 2014
This is PR bitcoin#4271, but with the changes to the descriptors, both the names of the
files and the names of the intermediate build artifact archives, removed.
This also closes bitcoin#3775 if it goes in, because it covers the changes in
that PR.
@Michagogo
Copy link
Copy Markdown
Contributor Author

Okay, the non-descriptor changes from this PR are now in #4449.

@Michagogo Michagogo deleted the cleanup-after-osx-gitian branch December 7, 2014 16:03
reddink pushed a commit to reddcoin-project/reddcoin-3.10 that referenced this pull request May 27, 2020
This is PR bitcoin#4271, but with the changes to the descriptors, both the names of the
files and the names of the intermediate build artifact archives, removed.
This also closes bitcoin#3775 if it goes in, because it covers the changes in
that PR.

(cherry picked from commit 462ad22)

# Conflicts:
#	doc/release-process.md
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants