diff --git a/chrootInstall.sh b/chrootInstall.sh index bff3a6d..92a37fb 100755 --- a/chrootInstall.sh +++ b/chrootInstall.sh @@ -68,6 +68,7 @@ ln -s /usr/bin/doas /usr/local/bin/sudo # pacman configuration install -m 0644 ./config-files/pacman.conf /etc/pacman.conf install -m 0644 ./config-files/makepkg.conf /etc/makepkg.conf +install -Dm 0644 ./config-files/makepkg-rust.conf /etc/makepkg.conf.d/rust.conf install -m 0644 ./config-files/paccache-clean.hook /etc/pacman.d/hooks/paccache-clean.hook install -m 0644 ./config-files/modemmanager.hook /etc/pacman.d/hooks/modemmanager.hook install -m 0644 ./config-files/dash-link.hook /etc/pacman.d/hooks/dash-link.hook diff --git a/config-files/makepkg-rust.conf b/config-files/makepkg-rust.conf new file mode 100644 index 0000000..3b135e1 --- /dev/null +++ b/config-files/makepkg-rust.conf @@ -0,0 +1,17 @@ +#!/hint/bash +# +# /etc/makepkg.conf.d/rust.conf - rwinkhart/artix-install-script 09/15/2024 +# + +######################################################################### +# RUST LANGUAGE SUPPORT +######################################################################### + +# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read +# linkman:rustc[1] for more details on the available flags. +RUSTFLAGS="-Cforce-frame-pointers=yes -C opt-level=3 -C target-cpu=native" + +# Additional compiler flags appended to `RUSTFLAGS` for use in debugging. +# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for +# more details on the available flags. +DEBUG_RUSTFLAGS="-C debuginfo=2" diff --git a/config-files/makepkg.conf b/config-files/makepkg.conf index 73b6077..471edc3 100644 --- a/config-files/makepkg.conf +++ b/config-files/makepkg.conf @@ -1,6 +1,6 @@ #!/hint/bash # -# /etc/makepkg.conf - rwinkhart/artix-install-script 06/26/2022 +# /etc/makepkg.conf - rwinkhart/artix-install-script 09/15/2024 # ######################################################################### @@ -23,7 +23,7 @@ DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' #-- The package required by makepkg to download VCS sources # Format: 'protocol::package' -VCSCLIENTS=('bzr::bzr' +VCSCLIENTS=('bzr::breezy' 'fossil::fossil' 'git::git' 'hg::mercurial' @@ -39,17 +39,19 @@ CHOST="x86_64-pc-linux-gnu" #-- Compiler and Linker Flags #CPPFLAGS="" CFLAGS="-march=native -mtune=native -O3 -pipe -fno-plt -fexceptions \ - -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \ - -fstack-clash-protection -fcf-protection" + -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection \ + -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" -LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now" -#RUSTFLAGS="-C opt-level=2" +LDFLAGS="-Wl,-O3 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ + -Wl,-z,pack-relative-relocs" +LTOFLAGS="-flto=auto" #-- Make Flags: change this for DistCC/SMP systems MAKEFLAGS="-j$(nproc)" +NINJAFLAGS="-j$(nproc)" #-- Debugging flags -DEBUG_CFLAGS="-g -fvar-tracking-assignments" -DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" -#DEBUG_RUSTFLAGS="-C debuginfo=2" +DEBUG_CFLAGS="-g" +DEBUG_CXXFLAGS="$DEBUG_CFLAGS" ######################################################################### # BUILD ENVIRONMENT @@ -78,7 +80,7 @@ BUILDENV=(!distcc color !ccache check !sign) # These are default values for the options=() settings ######################################################################### # -# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto) +# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) # A negated option will do the opposite of the comments below. # #-- strip: Strip symbols from binaries/libraries @@ -90,8 +92,9 @@ BUILDENV=(!distcc color !ccache check !sign) #-- purge: Remove files specified by PURGE_TARGETS #-- debug: Add debugging flags as specified in DEBUG_* variables #-- lto: Add compile flags for building with link time optimization +#-- autodeps: Automatically add depends/provides # -OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto) +OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) #-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 INTEGRITY_CHECK=(sha256) @@ -109,6 +112,8 @@ DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) #-- Directory to store source code in for debug packages DBGSRCDIR="/usr/src/debug" +#-- Prefix and directories for library autodeps +LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') ######################################################################### # PACKAGE OUTPUT diff --git a/install.sh b/install.sh index 7196bf4..92f9a77 100755 --- a/install.sh +++ b/install.sh @@ -3,7 +3,7 @@ loadkeys us echo ---------------------------------------------------------------------------------------------- echo rwinkhart\'s Artix Install Script -echo Last updated August 31, 2024 \(rev. A\) +echo Last updated September 15, 2024 \(rev. B\) echo ---------------------------------------------------------------------------------------------- echo You will be asked some questions before installation. echo -e "----------------------------------------------------------------------------------------------\n"