chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.78k stars 419 forks source link

Cray module RPMs should work w zypper: finish src changes (chapel-code), merge to master #9533

Closed awallace-cray closed 6 years ago

awallace-cray commented 6 years ago

Finish https://github.com/chapel-lang/chapel/issues/9253 Cray XC RPM for ARM should work with zypper not rpm

Outcome of this task: All Chapel Cray-module RPMs and YAMLs generated in Jenkins will use a new internal RPM Name and Version convention which satisfies the new PE-installer's Name uniqueness requirement (RPM's for ARM) yet remains compatible with the old PE-installer (RPMs for x86_64); including existing RPMs already installed in the field.

Note, all source changes, git branches, etc discussed here apply to Cray's internal chapel-code.git repository, not GitHub's chapel.git.

Tasks to be completed:

Replace all hard-coded "x86_64" with "$CPU" in scripts

git diff --numstat 903747695144898e4cdd63beabd88da1e2cf032f~ 903747695144898e4cdd63beabd88da1e2cf032f 1 1 build/cray-module/build_chapel_flavors.bash # does not count 6 6 build/cray-module/chapel.bash 2 2 build/cray-module/common.bash 2 2 build/cray-module/update_dropoff.bash


* Script changes for Jenkins pe-dropoff jobs have not been developed at all. Up to now I have been creating YAML's and copying files into dropoff by hand. This is an opportunity to substantially rewrite (and simplify) the `update_dropoff.bash` script (234 lines) and parts of `common.bash` (167 lines).  
  * Stop doing the test rpm-install. This activity no longer has any meaning since the real RPM databases that could actually predict PE-install failures, are no longer visible except on the SMW (which is unavailable to Jenkins).  Also, the Jenkins chapel cray module build already runs an rpm-install against a "test" RPM database. 
  * Stop trying to generate YAML files using the ugly PE code from 2012-2014. Instead, check-in some YAML templates (nightly v. release)x(x86 v. ARM), then use sed or bash to parameterize dates and versions in the text. The handbuilt YAML files I have been testing can become these templates. 
  * Get the set_default template from Stash instead of SVN. (email from RCW)
  * Apply the new Chapel RPM Name and Version conventions which will make Chapel RPMs compatible with both old and new PE installer tools.  See https://github.com/awallace-cray/priv/issues/9#issuecomment-389282438.

These script changes need to be tested, merged to master, and finally refactored out of gh9321. 

These source changes were not included in task https://github.com/chapel-lang/chapel/issues/9243 because that task was for chapel.git repository. 

Source changes made in rev 903747695144898e4cdd63beabd88da1e2cf032f (above) were originally meant to be included in ttps://github.com/chapel-lang/chapel/issues/9244, but need to be done with this task. 
awallace-cray commented 6 years ago

2018-05-16 : chapel-code.git : new branches

Old branch gh9321 is not changed. It is now basically the same as branch gh9533+9321 except

awallace-cray commented 6 years ago

2018-05-29 Successful module builds in sandbox Jenkins with current Chapel master branch + chapel-code branch gh9533. TODOs:

awallace-cray commented 6 years ago

Incomplete. Continued in https://github.com/chapel-lang/chapel/issues/9642.

awallace-cray commented 6 years ago

2018-05-29 Post-mortem: I under-estimated this work. Contributing factors: