-
Notifications
You must be signed in to change notification settings - Fork 87
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
(PA-6383) Enable PIE for Ubuntu and Debian #892
Conversation
Thanks @skyamgarp I had a few comments:
# Define default CFLAGS and LDFLAGS for most platforms, and then
# tweak or adjust them as needed.
proj.setting(:cppflags, "-I#{proj.includedir} -I/opt/pl-build-tools/include")
proj.setting(:cflags, "-frecord-gcc-switches #{proj.cppflags}")
proj.setting(:ldflags, "-L#{proj.libdir} -L/opt/pl-build-tools/lib -Wl,-rpath=#{proj.libdir}")
if (platform.is_sles? && platform.os_version.to_i >= 15) ||
(platform.is_el? && platform.os_version.to_i >= 8 && platform.architecture !~ /ppc64/) ||
(platform.is_debian? && platform.os_version.to_i >= 10) ||
(platform.is_ubuntu? && platform.os_version.to_i >= 20) ||
platform.is_fedora?
proj.setting(:supports_pie, true)
end Then refactor all of the projects to include the shared compiler settings. For example, in -proj.setting(:cppflags, "-I#{proj.includedir} -I/opt/pl-build-tools/include")
-proj.setting(:cflags, "#{proj.cppflags}")
-proj.setting(:ldflags, "-L#{proj.libdir} -L/opt/pl-build-tools/lib -Wl,-rpath=#{proj.libdir}")
+# Load default compiler settings
+instance_eval File.read('configs/projects/_shared-compiler-settings.rb') Then in each project/component, you can test for - if((platform.is_sles? && platform.os_version.to_i >= 15) ||
- (platform.is_el? && platform.os_version.to_i >= 8 && platform.architecture !~ /ppc64/) ||
- (platform.is_debian? && platform.os_version.to_i >= 10) ||
- (platform.is_ubuntu? && platform.os_version.to_i >= 20) ||
- platform.is_fedora?
- )
+ if proj.settings[:supports_pie]
|
23a54a3
to
c3578b9
Compare
(PA-6383) Exclude ppc64 architecture (PA-6383) Fix Spaces (PA-6383) Exclude ppc64 arch (PA-6383) created compiler setting separately (PA-6383) Changes to runtime-bolt (PA-6383) Exclude EL platforms
Enable PIE for Ubuntu 22, Debian 10 and up
agent-runtime-main: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3168/
agent-runtime-7.x: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3167/
pdk-runtime: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3170/
bolt-runtime: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3171/
pe-installer-runtime-2021.7.x: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3172/
pe-installer-runtime-main: https://jenkins-platform.delivery.puppetlabs.net/view/vanagon-generic-builder/job/platform_vanagon-generic-builder_vanagon-packaging_generic-builder/3173/