Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.1.0 : Update toolchain support for newer GCC versions and Raspberry Pi OS Bookworm (Fixes #86) #119

Merged
merged 36 commits into from
Aug 26, 2024

Conversation

abhiTronix
Copy link
Owner

Description:

This pull request updates our toolchain builder scripts and documentation to support newer GCC versions and Raspberry Pi OS Bookworm (Debian 12), while removing support for older versions and Raspberry Pi OS Stretch(Debian 9).

Key changes include:

  • Expand supported GCC versions up to 14.2.0
  • Add support for Raspberry Pi OS Bookworm (Debian 12)
  • ⚠️ Remove support for Raspberry Pi OS Stretch (Debian 9)
  • Update GDB version from 10.2 to 15.1
  • Update CURL_VERSION to 8.9.1
  • Revise supported hardware to include Raspberry Pi 5
  • Update dependency versions and build configurations
  • Improve error handling and cleanup processes in build scripts
  • Update CI build scripts and GitHub Actions workflows
  • Revise documentation (README.md and other docs) to reflect new changes

This PR addresses the following issues:

Changes affect the following components:

  • RTBuilder_32b and RTBuilder_64b build scripts
  • CI build scripts
  • GitHub Actions workflows
  • README.md and documentation
  • Deployment scripts (SF_deployer and SF_docs_deployer)

- Expand supported GCC versions up to 14.2.0
- Add support for Raspberry Pi OS Bookworm
- Update dependency versions for Bookworm (GCC, glibc, binutils)
- Remove support for Stretch, add Bookworm to OS options
- Adjust version validation checks for new supported versions
- Remove Stretch-specific patching and preprocessing
- Update supported GCC versions to include newer releases up to `14.2.0`
- Remove support for Stretch, add support for Bookworm
- Upgrade GDB version from 10.2 to 15.1
- Adjust GLIBC and BINUTILS version formats
- Standardize error handling for tar extractions [Fixes #103] (Suggested by @DoumanAsh)
- Improve cleanup of build directories
- Add figlet output for better visual separation of build steps
- Update configure options for GCC and GDB builds
- Enhance error handling and cleanup processes
- Minor text improvements and typo fixes
- Update supported GCC versions to include newer releases up to `14.2.0`
- Remove support for Stretch, add support for Bookworm
- Upgrade GDB version from 10.2 to 15.1
- Update GLIBC and BINUTILS versions for newer OS versions
- Improve error handling and cleanup processes
- Add figlet output for better visual separation of build steps
- Update configure options for GCC and GDB builds
- Standardize error handling for tar extractions [Fixes #103] (Suggested by @DoumanAsh)
- Remove obsolete patches for older GCC versions
- Update default languages to `c,c++,fortran`
- Minor text improvements and typo fixes
- Add support for Bookworm (Debian 12) OS and Remove support for Stretch (Debian 9) OS
- Update supported GCC versions up to `14.2.0`.
- Revise usage instructions for `RTBuilder_32b` and `RTBuilder_64b` scripts
- Fixed GDB compilation bug by adding `libgmp-dev`, `libgmp-dev` prerequisites.
- Update supported GCC versions table with Buster, Bullseye, and Bookworm
- Improve formatting and readability with emojis and markdown
- Add section headers and improve overall document structure
- Update additional environment variables section
- Revise project description and features list
- Update license information and citing instructions
- Add support for GCC 11.x, 12.x, 13.x and 14.x versions
- Add support for Debian Bookworm (12)
- Remove support for Debian Stretch (9)
- Update GDB version to 15.1
- Adjust OS and GCC version compatibility checks
- Clean up temporary files more thoroughly
- Update README with new supported versions and OSes
- Minor code cleanup and standardization across scripts
- Upgrade Ubuntu runner from `18.04` to `20.04`
- Update `CURL_VERSION` to `8.9.1`
- Revise GCC versions and Raspberry Pi OS types:
  - Remove older versions (`6.3.0`, `stretch`)
  - Add newer versions (`11.3.0`, `12.2.0`, `13.3.0`, `14.2.0`)
  - Add `bookworm` as a new Raspberry Pi OS type
- Add `libgmp-dev` and `libmpfr-dev` to installed packages
- Update `x86_64/x86` builders to use GCC `14.2.0`
- Remove GCC 11.3.0 from cross and native builder matrices
- Update GCC version ranges:
  - Cross builders: 8.3.0, 10.2.1, 12.2.0, 13.3.0, 14.2.0
  - Native builders: 13.3.0, 14.2.0

This change streamlines the GCC version selection across all Raspberry Pi
builder workflows (0-1, 2-3, 3+, and 64-bit), focusing on more recent
GCC versions for better compatibility and performance.
- Update supported GCC versions to 14.2.0
- Add support for Raspberry Pi 5 and Bookworm (Debian 12)
- Remove references to deprecated Stretch (Debian 9) toolchains
- Update supported hardware and optimization flags
- Reorganize and simplify toolchain download links
- Update project description and features
- Minor formatting and wording improvements throughout
- Update supported GCC versions to 14.2.0
- Add support for Raspberry Pi 5 and Bookworm (Debian 12)
- Remove references to deprecated Stretch (Debian 9) toolchains
- Update supported hardware and optimization flags
- Reorganize and simplify toolchain download links
- Minor formatting and wording improvements throughout
- Update `SF_deployer` and `SF_docs_deployer` scripts to use Bookworm (Debian 12) instead of Stretch (Debian 9)
- Modify folder paths and naming conventions to reflect the switch from Stretch to Bookworm
- Update usage instructions in SF_docs_deployer to include Bookworm option
- Remove all references to Stretch in both scripts
- Ensure compatibility with new Bookworm-based toolchains for both 32-bit and 64-bit architectures

This commit aligns the deployment scripts with the project's move to support newer Raspberry Pi OS versions.
@abhiTronix abhiTronix added Enhancement 😃 New Feature/Addition/Improvement New Release 🎈 New Release Yay!!! WIP 🏗️ Work in Progress Need Testing 🧪 Issue/PR must be tested before concluding. labels Aug 25, 2024
@abhiTronix abhiTronix added this to the v3.1.0 milestone Aug 25, 2024
@abhiTronix abhiTronix self-assigned this Aug 25, 2024
- Upgrade Ubuntu runner from `18.04` to `20.04`
- Fixed `libcurl3` replaced by `libcurl4` in Ubuntu 20.04
- Revise GCC versions and Raspberry Pi OS types:
  - Remove older versions `stretch` Raspberry Pi OS type
  - Add `bookworm` as a new Raspberry Pi OS type
- Rename 'Docs Root Deployer' job to 'Docs Experimental Deployer' in `docs.yml` workflow
- Enhance `curl_stfp_patcher` script:
  - Add installation of `openssl` and `libssl-dev`
  - Configure curl build with OpenSSL support
- Simplify and consolidate logic in SF_deployer
- Introduce deploy_file function for reusability
- Update folder structure to include Raspberry Pi 5
- Reorganize SF_docs_deployer with modular set_folder_and_filepath function
- Improve error handling and URL encoding
- Standardize deployment process across different toolchain types
- Simplify and consolidate logic
- Introduce deploy_file function for reusability
- Modify conditions for running jobs in builder workflows
- Expand triggers for CIBB jobs to include all pushes
- Restrict CICTB and CINTB jobs to run only on push events
- Remove pull_request trigger from docs.yml workflow
@abhiTronix abhiTronix merged commit 4ab3d1e into master Aug 26, 2024
9 of 46 checks passed
@abhiTronix abhiTronix deleted the development branch August 26, 2024 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 😃 New Feature/Addition/Improvement Need Testing 🧪 Issue/PR must be tested before concluding. New Release 🎈 New Release Yay!!! WIP 🏗️ Work in Progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rm *.tar.* makes the builder to stop Support for latest GCC 11 - 14 series
1 participant