-
Notifications
You must be signed in to change notification settings - Fork 36
CreateReleases
Stafford Horne edited this page Feb 18, 2017
·
4 revisions
The following part describes how the OpenRISC GCC maintainers create releases:
-
Fetch an upstream release from their repository (they have the form
gcc-{version}-release
. -
Merge this release into the OpenRISC branch (or a version branch)
-
Create a branch
or1k-{version}
-
Create an annotated tag
or1k-{version}-release
git tag -a or1k-{version}-release -m "GCC {version} Release for OpenRISC"
-
Push this tag:
git push origin or1k-{version}-release
-
Create the OpenRISC patch:
git diff gcc-{version}-release > gcc-{version}-or1k.patch
-
Visit the repository on GitHub and go to releases
- Edit the new tag
- Set release title:
GCC {version} with OpenRISC patches
- Upload the patch
As musl is not part of GCC, we also patch GCC for musl:
- Branch
or1k-{version}
tomusl-{version}
- Get the patches for the GCC version (branch per release)
- Apply the patches listed in
series
and commit similar to this commit - Finally, apply the or1k-specific patch:
git cherry-pick 3455e5a
- Push the branch
- Create a release of newlib, musl, etc.
- Update the RTEMS source builder
- Update openrisc.io with a post about your new release
- Send a mail to openrisc@lists.librecores.org with the details
Stafford has put together some scripts that help automate the build release parts above.
The or1k-toolchain-build project helps with:
- Build binaries for
musl
,newlib
andnolib
(no libc just binutils and gcc for linux builds) - The binaries are built in a docker container for easy reproduction
-
release.sh
script to create the gittag
,.patch
files and github release draft -
upload.sh
script to upload patches and binaries the the release