Add Ubuntu install script + general-ish .config&patching script (#26)

* linux57: Add make xconfig option

* Linux57: copy PKGBUILD initial commands to _tkg_initscript()

* linux57: Update _tkg_initscript() in "tkg-config/prepare"

* linux57: Add _define_vars() function in tkg-config/prepare

* linux57: Prepend "$_where" to patch paths, in _tkg_srcprep()

This is done to be able to change the $_where in the non-Arch install script

* linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option

Show options that won't apply when target distro is Ubuntu

* linux57: Isolate Arch specific commands in _tkg_srcprep()

* linux57: make _tkg_initscript() more verbose

* WIP: linux57: Add install.sh script

The script downloads linux's source code, applies patches, and
handles the .config file after copying the one from the distribution
it's running on.

TODO: Implement install (and maybe uninstall)

* linux57: Add make xconfig option description in customization.cfg

* linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing

* linux57: Add missing space in condition

* linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script

* linux57: Add LOCALVERSION kernel choice variable in customization.cfg

For now it won't apply for Arch, but can be implemented

* linux57: Properly delete linux source folder

* linux57: Add progress message when doing make oldconfig

* linux57: Add kernel compilation for Ubuntu

* linux57: Fix warning in if condition

* linux57: Add message when downloading CPU opt patch

* linux57: Make script exit at any error

* linux57: Move to linux (base version + subversion patch) approach

* linux57: Use git to get/reset linux sources and move between subversions

This approach has the least impact on the hard-drive given that only
the files that need to be changed get changed by git.

* linux57: Fix external config loading message

* linux57: install.sh: use latest subersion, enable reverting to older ones

* linux57: Add extra cleanup steps

* Move user_patcher() to tkg-config/prepare

* linux57: restore old patch files for old kernel subversions

Old kernel subversions are needed for Ubuntu since the latest ones
fail to build.

* linux57: Define and use script location variable

Makes folder navigation more reliable in the script

* linux57: Add install step

* linux57: install.sh: Uncomment compilation step

* linux57: install.sh: Add "config" and "install" commands

* linux57: install.sh: Add uninstall command

* linux57: Add relative path for misc-patch

* Fix leak error for CONFIG_PDS in make deb-pkg

* linux57: Define _where in _tkg_srcprep for Arch

* Revert "linux57: restore old patch files for old kernel subversions"

This reverts commit 65dcbd654c4151283189505c826903c342782d0e.

* linux57: Update shasum for pds-undead patch

* linux57: Drop support for reverting to older subversions

Latest kernel subversions should now work on other distros too

* linux57: install.sh load user given customization.cfg first

* linux57: install.sh install Ubuntu dependencies

* linux57: install.sh: add help message for available commands

* linux57: replace _misc_adds with _distro variable

* linux57: Update README.md

* linux57: README.md: fix typo

* linux57: README.md: remove "nano customization.cfg" line

* linux57: README.md: fix formatting

* Revert "linux57: Update shasum for pds-undead patch"

This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31.

* Revert "Fix leak error for CONFIG_PDS in make deb-pkg"

This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a.

* linux57: tkg-config/prepare: remove unused variable defines

* linux57: install.sh: use var for folder cleanup

* Revert "linux57: replace _misc_adds with _distro variable"

This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
This commit is contained in:
Adel Kara Slimane
2020-08-06 19:59:17 +02:00
committed by GitHub
parent d039728f97
commit 3c7fd7b2e5
9 changed files with 556 additions and 188 deletions

View File

@@ -1,5 +1,52 @@
#!/bin/bash
user_patcher() {
# To patch the user because all your base are belong to us
local _patches=("$_where"/*."${_userpatch_ext}revert")
if [ ${#_patches[@]} -ge 2 ] || [ -e "${_patches}" ]; then
if [ "$_user_patches_no_confirm" != "true" ]; then
msg2 "Found ${#_patches[@]} 'to revert' userpatches for ${_userpatch_target}:"
printf '%s\n' "${_patches[@]}"
read -rp "Do you want to install it/them? - Be careful with that ;)"$'\n> N/y : ' _CONDITION;
fi
if [ "$_CONDITION" == "y" ] || [ "$_user_patches_no_confirm" == "true" ]; then
for _f in "${_patches[@]}"; do
if [ -e "${_f}" ]; then
msg2 "######################################################"
msg2 ""
msg2 "Reverting your own ${_userpatch_target} patch ${_f}"
msg2 ""
msg2 "######################################################"
patch -Np1 -R < "${_f}"
echo "Reverted your own patch ${_f}" >> "$_where"/last_build_config.log
fi
done
fi
fi
_patches=("$_where"/*."${_userpatch_ext}patch")
if [ ${#_patches[@]} -ge 2 ] || [ -e "${_patches}" ]; then
if [ "$_user_patches_no_confirm" != "true" ]; then
msg2 "Found ${#_patches[@]} userpatches for ${_userpatch_target}:"
printf '%s\n' "${_patches[@]}"
read -rp "Do you want to install it/them? - Be careful with that ;)"$'\n> N/y : ' _CONDITION;
fi
if [ "$_CONDITION" == "y" ] || [ "$_user_patches_no_confirm" == "true" ]; then
for _f in "${_patches[@]}"; do
if [ -e "${_f}" ]; then
msg2 "######################################################"
msg2 ""
msg2 "Applying your own ${_userpatch_target} patch ${_f}"
msg2 ""
msg2 "######################################################"
patch -Np1 < "${_f}"
echo "Applied your own patch ${_f}" >> "$_where"/last_build_config.log
fi
done
fi
fi
}
_tkg_srcprep() {
msg2 "Setting version..."
scripts/setlocalversion --save-scmversion