diff options
| -rw-r--r-- | .zshrc | 33 |
1 files changed, 32 insertions, 1 deletions
@@ -77,7 +77,7 @@ device="desktop" # can be either "desktop" (default when empty), "server" or "an if [[ -x "$(command -v emerge)" ]]; then alias seq="sudo emerge --quiet-build -v" alias sep="sudo emerge -pv" - alias sen="sudo ego sync && sudo emerge --quiet-build -vuDN @world" + alias sen="pre-sync && sudo ego sync && post-sync && sudo emerge --quiet-build -vuDN @world" alias seN="sudo emerge --quiet-build -vuDN @world" alias seNp="sudo emerge --quiet-build -pvuDN @world" alias ses="sudo emerge -s" @@ -86,6 +86,37 @@ device="desktop" # can be either "desktop" (default when empty), "server" or "an alias seC="sudo emerge -C" alias secp="sudo emerge -cp" alias seCp="sudo emerge -Cp" + + pre-sync() { + echo '(.zshrc) Running pre-sync function...' + + # Since in post-sync I change the EAPI of a lot of the ebuilds, + # the overlay can't be synced properly + _pwd=$(pwd) + cd /var/db/repos/gentoo + sudo git reset --hard + cd $_pwd + + echo '(.zshrc) pre-sync finished! :}' + } + + post-sync() { + echo '(.zshrc) Running post-sync function...' + + # Fixes the elusive + # "!!! Repository name or alias 'gentoo', defined for repository 'core-kit', overrides existing alias or repository." + # error when enabling gentoo overlay + sudo sed -i 's/aliases = gentoo/#aliases = gentoo/g' /var/git/meta-repo/kits/core-kit/metadata/layout.conf + + # In the gentoo overlay, most packages don't actually use EAPI 8 specific features, so + # they can safely be rolled back to EAPI 7 (funtoo's portage doesn't support EAPI 8 yet). + # However, there are still some that do need EAPI 8, so they should be left alone. + # Since I'm incredibly lazy, for now, this is how I'm gonna do it. + find '/var/db/repos/gentoo' -type f -name "*.ebuild" ! -path "*dev-qt*" ! -path "*kde-frameworks*" ! -path "*kde-plasma*" \ + | xargs sudo sed -i 's/EAPI=8/EAPI=7/g' + + echo '(.zshrc) post-sync finished! :]' + } fi # }}} |
