* Bug reports: create "logs" folder and populate it at each run
This makes it easier for people to open issues
as we will ask them to attach every file in the "logs" folder.
File have the .txt extension so they can easily be
drag & dropped into gihub issues
For Arch people: to obtain the shell-output.log, we will ask them to do it
by hand:
makepkg [args] | tee shell-output.log
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: cleanup "logs" folder at each run
So some files, that usually get appended to, don't
grow to infinity.
This behavior needs to be changed if we decide to
keep more logs than the latest one.
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: fix config_hardened + make arch config default for all distros
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: pring message about using hardnened config file
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* README: update about the change with the default config file
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* install.sh: additional dependencies
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* Enable Clang LTO
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: improve kernel prompting and selection code
- Subversion are to be directly edited in the _kver_subver_map
variable at the top of the file
- _supported_kernels is theoretically not needed, but it's needed
for the prompting to happen with the correct order, since the
keys in _kver_subver_map are hash-ordered, which is not the
natural ordering
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: update comment
* prepare: improve compiler selection and LTO enablement code path
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* install.sh: use _prompt_from_array for distro selection
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: move optiprofile prompt to _prompt_from_array
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: improve cpu sched fallback code
* install.sh: move set -e at the top
* prepare: use arrays for HZ configs
* prepare: enable default selection in _prompt_from_array
* prepare: use _prompt_from_array for _rr_interval
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: update _rr_interval prompting
* prepare: update and use config script for tickless
* prepare: use scripts/config accross the entire script
* prepare: change last lines to scripts/config
* prepare: small fixes
* customization.cfg: revert back to old values for _tickless
* prepare: revert back to old numbering for _rr_interval
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: msg2 used _rr_interval
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: be smarter/dumber with _rr_interval
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: remove last manual interventions to .config
* prepare: fix condition
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: improve cpu march handling and implement prompt
Making `make` prompt wasn't working on my Gentoo for a
reason I don't understand anymore. The configs are unset
by the script. So it always goes for generic by default.
Maybe they need to be entirely deleted from the .config
file.
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: fix name for MuQSS.c
* prepare: use _sched for scheduler source code files
* install.sh: use sudo to clean root owned files in linux-src-git
* prepare: remove useless code
* prepare: fix issue with MuQSS
* Add CacULE scheduler
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* 5.13 rc4
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: Remove voluntary_preempt, OFenable and disable_acpi_cpufreq options
* prepare: Prevent config prompt w/ modprobed-db
Rebase of @CodingKoopa PR
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: Empty LOCALVERSION config option for Arch at the correct spot
@CodingKoopa spotted the issue and reported it, thanks!
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: use _enable _undefine and _disable wrappers
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* Restore the state tracker for makepkg usage
* Fix tickless array selection order for nohz idle/hz periodic
* Also handle the disabling part of the generic march selector
* Replace _undefine() calls with _disable()
* Preserve the case of config options passed to scripts/config
* Echo the CONFIG_EXPERT options without blank lines
And with a header/footer
Makes searching for config setting bugs easier
* prepare: uppercase config options with "tr"
Co-authored-by: Etienne JUVIGNY <ti3nou@gmail.com>
* install.sh: install headers in /usr/include for winesync to work
This implies reverting a previous change in deb and rpm distros
and adding make headers_install in the Generic approach
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* install.sh: install winesync.rules file
This file will not be removed and will be left dangling
Not so bad I think, since only winesync uses it. We can
remove it in the future if things change
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* prepare: remove winesync.rules file during cleanup
So we can check if the user actually asked for winesync
in the current run by checking if the file exists.
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* install.sh: add winesync to /etc/modules-load.d for auto-loading
Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
* install.sh: RPM distros: Install the correct headers RPM for DKMS to work
Closes: #230Closes: #229
* install.sh: remove trailing whitespaces
They came from reverting a commit that actually removed them x)
* install.sh: Add note in uninstall-help for Suse about kernel-headers
* install.sh: improve git source code fetching
* install.sh: add install dependency for Fedora 33+
* install.sh, customization.cfg: cosmetic improvements
* install.sh: DEB, RMP: do not create devel packages.
They are not needed for DKMS
and that was the only point to why they were there to begin with
* Enable setting modprobed-db database path
This enables using different dbs and be able to build the kernel for others, with modprobed-db
* Save generated .config file back to user's git folder, for eventual re-use
* Set local version for all distros
* install.sh: handle user provided .config files
Update dosctring for the _configfile var in customization.cfg
* install.sh: fix kernel version prompt broken newlines
* Copy final config file as kernelconfig.new
* Prompt _distro if undefined when using "uninstall-help" in install.sh
* Unified linux source code git folder
* Update README
* Fix "defaulting to arch" by prompting distro earlier
* Move variable definitions at the correct position in script
* Remove unneeded Ubuntu dependency
* Fix typo
* RPM distros: Move only tkg related RPMs and leave the ~/rpmbuild folder as-is
* Fix defaulting to _distro=Arch when using ./install.sh config
* Use custom location for rpmbuild folder
* Fix _topdir for make bin-rpm
* Move rpmbuild folder cleanup to exit_cleanup function
* Revert folder naming in Arch specific NUKR=false cleanup
* Revert Void Linux changes
* Shallow clone a longer time window for stable releases
depth=1 had issues if the kernel release
is newer than the tag in the git repo
* Move functions to install.sh
* Fix cpuopts patch file naming
* Improve install.sh help message
source 'customization.cfg' before '_tkg_initscript' is run in
'install.sh'. Otherwise some variables set in 'customization.cfg' are
empty when '_tkg_initscript' is run and have to be supplied again on the
prompt.
Split Debian and Ubuntu build dependencies, as "kernel-package" is not
available, but also not needed in newer Debian releases.
Add some other dependencies dpkg-buildpackage was complaining about.
With these dependencies the tkg kernel builds in a freshly bootstrapped
Debian "Buster" container.
Fix MuQSS illegal character uppercase in source package name
Fix _cpusched not being sourced for package name
Fix llvm not in package name when using llvm