[bin] add helper scripts
This commit is contained in:
parent
381e51a098
commit
21e3b6da8b
28
bin/bump_ati_drivers
Executable file
28
bin/bump_ati_drivers
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon 2.6.39-sabayon"
|
||||
running_kernel="2.6.39-sabayon"
|
||||
packages="x11-drivers/ati-drivers::sabayon"
|
||||
|
||||
# build for latest kernel
|
||||
KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge $packages media-video/amdcccle::sabayon
|
||||
echo -5 | etc-update
|
||||
reagent update
|
||||
|
||||
for kernel in $kernels; do
|
||||
if [ "${kernel}" = "${running_kernel}" ]; then
|
||||
continue
|
||||
fi
|
||||
rm -rf /usr/portage/packages/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${packages} || ( echo "ouch unable to build" && exit 1 )
|
||||
built_pkgs=$(find /usr/portage/packages -name "*.tbz2" | xargs echo)
|
||||
[[ -z "${built_pkgs}" ]] && echo "ouch no kernel pkgs" && exit 2
|
||||
reagent inject ${built_pkgs} || ( echo "ouch unable to inject" && exit 3 )
|
||||
echo
|
||||
reagent query tags ${kernel} -qv | sort
|
||||
echo
|
||||
done
|
||||
|
||||
echo "Now you should remove old packages:"
|
||||
echo reagent repo remove `reagent query search ${packages} -qv | grep MY_OLD_VER | xargs echo`
|
||||
echo
|
19
bin/bump_injected_ati_drivers
Executable file
19
bin/bump_injected_ati_drivers
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon"
|
||||
packages="=x11-drivers/ati-drivers-11.2-r1"
|
||||
non_injected_packages="~x11-drivers/ati-userspace-11.2"
|
||||
ETP_REPO="${ETP_REPO:-sabayon-limbo}"
|
||||
|
||||
rm -rf /usr/portage/packages/x11-drivers/*
|
||||
emerge -B ${non_injected_packages} || exit 1
|
||||
reagent inject /usr/portage/packages/x11-drivers/* || exit 1
|
||||
|
||||
for kernel in $kernels; do
|
||||
mypackages="${packages}"
|
||||
# build for latest kernel
|
||||
rm -rf /usr/portage/packages/x11-drivers/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${mypackages} || exit 1
|
||||
reagent inject /usr/portage/packages/x11-drivers/*
|
||||
echo
|
||||
done
|
41
bin/bump_injected_kernel_mods
Executable file
41
bin/bump_injected_kernel_mods
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernel="${1}"
|
||||
if [ -z "${kernel}" ]; then
|
||||
echo "$0 <kernel>"
|
||||
echo "example: $0 2.6.35-sabayon"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
packages="app-emulation/open-vm-tools-kmod
|
||||
app-emulation/virtualbox-guest-additions
|
||||
app-emulation/virtualbox-modules
|
||||
app-emulation/vmware-modules
|
||||
app-laptop/omnibook
|
||||
app-laptop/tp_smapi
|
||||
media-video/em8300-modules
|
||||
net-wireless/acx
|
||||
net-wireless/broadcom-sta
|
||||
net-wireless/madwifi-ng
|
||||
=net-wireless/ndiswrapper-1.55-r1
|
||||
sys-block/iscsitarget
|
||||
sys-fs/vhba
|
||||
~x11-drivers/ati-drivers-10.8
|
||||
net-wireless/rtl8192se
|
||||
~x11-drivers/nvidia-drivers-173.14.27
|
||||
~x11-drivers/nvidia-drivers-195.36.31
|
||||
~x11-drivers/nvidia-drivers-96.43.18
|
||||
~x11-drivers/nvidia-drivers-256.53
|
||||
x11-drivers/xf86-video-virtualbox"
|
||||
|
||||
ETP_REPO="${ETP_REPO:-sabayonlinux.org}"
|
||||
|
||||
# build for latest kernel
|
||||
rm -rf /usr/portage/packages/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -Bav ${packages}
|
||||
if [ "${?}" != "0" ]; then
|
||||
exit 1
|
||||
fi
|
||||
reagent inject $(find /usr/portage/packages -name "*.tbz2" | xargs echo)
|
||||
|
||||
echo "Now you should remove old packages, if you want of course"
|
19
bin/bump_injected_nvidia_drivers
Executable file
19
bin/bump_injected_nvidia_drivers
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon 2.6.39-sabayon"
|
||||
packages="~x11-drivers/nvidia-drivers-173.14.30" # ~x11-drivers/nvidia-drivers-96.43.19"
|
||||
non_injected_packages="~x11-drivers/nvidia-userspace-173.14.30" # ~x11-drivers/nvidia-userspace-96.43.19"
|
||||
ETP_REPO="${ETP_REPO:-sabayon-limbo}"
|
||||
|
||||
rm -rf /usr/portage/packages/x11-drivers/*
|
||||
emerge -B ${non_injected_packages} || exit 1
|
||||
reagent inject /usr/portage/packages/x11-drivers/* || exit 1
|
||||
|
||||
for kernel in $kernels; do
|
||||
mypackages="${packages}"
|
||||
# build for latest kernel
|
||||
rm -rf /usr/portage/packages/x11-drivers/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${mypackages} || exit 1
|
||||
reagent inject /usr/portage/packages/x11-drivers/*
|
||||
echo
|
||||
done
|
91
bin/bump_kernel_tag_mods
Executable file
91
bin/bump_kernel_tag_mods
Executable file
@ -0,0 +1,91 @@
|
||||
#!/usr/bin/python2
|
||||
import sys
|
||||
import subprocess
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
args = sys.argv[1:]
|
||||
|
||||
only_injected = "--only-injected" in args
|
||||
if only_injected:
|
||||
args.remove("--only-injected")
|
||||
|
||||
if len(args) < 3:
|
||||
print("bump_kernel_tag_mods <query tag> <compile tag> <source (query) repo> <destination entropy repo>")
|
||||
raise SystemExit(1)
|
||||
|
||||
kernel_tag = args.pop(0)
|
||||
compile_tag = args.pop(0)
|
||||
source_repo = args.pop(0)
|
||||
dest_repo = args.pop(0)
|
||||
|
||||
sys.argv.append("--no-pid-handling")
|
||||
|
||||
os.environ['KERNEL_DIR'] = "/usr/src/linux-" + compile_tag
|
||||
os.environ['ETP_REPO'] = source_repo
|
||||
import entropy.dep
|
||||
from entropy.server.interfaces import Server
|
||||
srv = Server()
|
||||
pkgs_map = {}
|
||||
try:
|
||||
repo = srv.open_repository(srv.repository())
|
||||
pkg_ids = repo.searchTaggedPackages(kernel_tag)
|
||||
if not pkg_ids:
|
||||
print("!!! no packages for kernel_tag")
|
||||
injected_pkgs = []
|
||||
normal_pkgs = []
|
||||
for pkg_id in pkg_ids:
|
||||
injected = repo.isInjected(pkg_id)
|
||||
if injected:
|
||||
injected_pkgs.append(pkg_id)
|
||||
else:
|
||||
normal_pkgs.append(pkg_id)
|
||||
|
||||
normal_atoms = [entropy.dep.remove_tag(repo.retrieveAtom(pkg_id)) for pkg_id in normal_pkgs]
|
||||
injected_atoms = [entropy.dep.remove_tag(repo.retrieveAtom(pkg_id)) for pkg_id in injected_pkgs]
|
||||
finally:
|
||||
srv.shutdown()
|
||||
|
||||
if not only_injected:
|
||||
if normal_atoms:
|
||||
print("normal packages: %s" % (' '.join(normal_atoms),))
|
||||
if injected_atoms:
|
||||
print("injected packages: %s" % (' '.join(injected_atoms),))
|
||||
|
||||
if not (normal_atoms or injected_atoms):
|
||||
print("nothing to do !!")
|
||||
raise SystemExit(0)
|
||||
|
||||
if normal_atoms and not only_injected:
|
||||
rc = subprocess.call(["emerge", "-av", "--keep-going"] + ["~" + x for x in normal_atoms])
|
||||
if rc != 0:
|
||||
raise SystemExit(rc)
|
||||
subprocess.call(["etc-update"], shell = True)
|
||||
os.environ['ETP_REPO'] = dest_repo
|
||||
rc = subprocess.call(["reagent", "update"])
|
||||
if rc != 0:
|
||||
raise SystemExit(rc)
|
||||
|
||||
if injected_atoms:
|
||||
tmp_dir = tempfile.mkdtemp()
|
||||
os.environ['PKGDIR'] = tmp_dir
|
||||
rc = subprocess.call(["emerge", "-Bav", "--nodeps"] + ["~" + x for x in injected_atoms])
|
||||
if rc != 0:
|
||||
raise SystemExit(rc)
|
||||
tbz2s = []
|
||||
for category in os.listdir(tmp_dir):
|
||||
path = os.path.join(tmp_dir, category)
|
||||
if not os.path.isdir(path):
|
||||
continue
|
||||
for sub_file in os.listdir(path):
|
||||
if not sub_file.endswith(".tbz2"):
|
||||
continue
|
||||
tbz2s.append(os.path.join(path, sub_file))
|
||||
|
||||
if tbz2s:
|
||||
os.environ['ETP_REPO'] = dest_repo
|
||||
rc = subprocess.call(["reagent", "inject"] + tbz2s)
|
||||
if rc != 0:
|
||||
raise SystemExit(rc)
|
||||
|
||||
raise SystemExit(0)
|
33
bin/bump_kernel_video_drivers
Executable file
33
bin/bump_kernel_video_drivers
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PLEASE READ:
|
||||
# This script recompiles all the kernel-dependent video drivers for
|
||||
# every currently supported kernel. You can use this script when
|
||||
# you bump kernels or xorg-server.
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon 2.6.39-sabayon"
|
||||
running_kernel="2.6.39-sabayon"
|
||||
packages="~x11-drivers/nvidia-drivers-173.14.28 ~x11-drivers/nvidia-drivers-96.43.19"
|
||||
non_injected_packages="~x11-drivers/nvidia-drivers-260.19.29 x11-drivers/ati-drivers x11-drivers/xf86-video-virtualbox"
|
||||
general_purpose_packages="media-video/amdcccle"
|
||||
ETP_REPO="${ETP_REPO:-sabayon-limbo}"
|
||||
|
||||
for kernel in $kernels; do
|
||||
mypackages="${packages}"
|
||||
if [ "${kernel}" != "${running_kernel}" ]; then
|
||||
mypackages="${mypackages} ${non_injected_packages}"
|
||||
fi
|
||||
# build for latest kernel
|
||||
rm -rf /usr/portage/packages/x11-drivers/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${mypackages} || exit 1
|
||||
reagent inject /usr/portage/packages/x11-drivers/*
|
||||
echo
|
||||
done
|
||||
|
||||
# Workout drivers for the running kernel, those non injected
|
||||
eselect kernel set "linux-${running_kernel}" || exit 1
|
||||
emerge ${non_injected_packages} ${general_purpose_packages} || exit 1
|
||||
echo -5 | etc-update
|
||||
reagent update --atoms ${non_injected_packages} ${general_purpose_packages} || exit 1
|
||||
|
||||
echo "Now you should remove old packages, if you want of course"
|
28
bin/bump_nvidia_drivers
Executable file
28
bin/bump_nvidia_drivers
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon 2.6.39-sabayon"
|
||||
running_kernel="2.6.39-sabayon"
|
||||
packages="x11-drivers/nvidia-drivers::sabayon"
|
||||
|
||||
# build for latest kernel
|
||||
KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge $packages media-video/nvidia-settings::sabayon
|
||||
echo -5 | etc-update
|
||||
reagent update
|
||||
|
||||
for kernel in $kernels; do
|
||||
if [ "${kernel}" = "${running_kernel}" ]; then
|
||||
continue
|
||||
fi
|
||||
rm -rf /usr/portage/packages/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${packages} || ( echo "ouch unable to build" && exit 1 )
|
||||
built_pkgs=$(find /usr/portage/packages -name "*.tbz2" | xargs echo)
|
||||
[[ -z "${built_pkgs}" ]] && echo "ouch no kernel pkgs" && exit 2
|
||||
reagent inject ${built_pkgs} || ( echo "ouch unable to inject" && exit 3 )
|
||||
echo
|
||||
reagent query tags ${kernel} -qv | sort
|
||||
echo
|
||||
done
|
||||
|
||||
echo "Now you should remove old packages:"
|
||||
echo reagent repo remove `reagent query search ${packages} -qv | grep MY_OLD_VER | xargs echo`
|
||||
echo
|
29
bin/bump_vbox
Executable file
29
bin/bump_vbox
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
kernels="2.6.36-sabayon 2.6.37-sabayon 2.6.38-sabayon"
|
||||
running_kernel="2.6.39-sabayon"
|
||||
packages="app-emulation/virtualbox-guest-additions app-emulation/virtualbox-modules x11-drivers/xf86-video-virtualbox"
|
||||
|
||||
# build for latest kernel
|
||||
KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge xf86-input-virtualbox $packages virtualbox-bin
|
||||
echo -5 | etc-update
|
||||
reagent update
|
||||
|
||||
for kernel in $kernels; do
|
||||
if [ "${kernel}" = "${running_kernel}" ]; then
|
||||
continue
|
||||
fi
|
||||
rm -rf /usr/portage/packages/*
|
||||
KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B ${packages} || ( echo "ouch unable to build" && exit 1 )
|
||||
built_pkgs=$(find /usr/portage/packages -name "*.tbz2" | xargs echo)
|
||||
[[ -z "${built_pkgs}" ]] && echo "ouch no kernel pkgs" && exit 2
|
||||
reagent inject ${built_pkgs} || ( echo "ouch unable to inject" && exit 3 )
|
||||
echo
|
||||
reagent query tags ${kernel} -qv | sort
|
||||
echo
|
||||
done
|
||||
|
||||
echo "Now you should remove old packages:"
|
||||
echo reagent repo remove `reagent query search virtualbox -qv | grep MY_OLD_VER | xargs echo`
|
||||
echo
|
||||
echo "PLEASE also see /etc/entropy/packages/packages.server.dep_rewrite"
|
2
bin/bump_weekly_repo
Executable file
2
bin/bump_weekly_repo
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
ssh entropy@pkg.sabayon.org /sabayon/bin/update-sabayon-weekly-repository
|
66
bin/check_la
Executable file
66
bin/check_la
Executable file
@ -0,0 +1,66 @@
|
||||
#!/usr/bin/python2
|
||||
import sys
|
||||
|
||||
la_patterns = sys.argv[1:]
|
||||
if not la_patterns:
|
||||
print sys.argv[0], "<.la files patterns>"
|
||||
raise SystemExit(1)
|
||||
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import shutil
|
||||
from entropy.server.interfaces import Server
|
||||
import entropy.tools
|
||||
|
||||
la_compiled_patterns = dict((x, re.compile(x)) for x in la_patterns)
|
||||
print la_compiled_patterns
|
||||
|
||||
repo_id = os.getenv("ETP_REPO", "sabayonlinux.org")
|
||||
srv = Server()
|
||||
dbconn = srv.open_repository(repo_id)
|
||||
pkg_ids = dbconn.listAllIdpackages(order_by="atom")
|
||||
for pkg_id in pkg_ids:
|
||||
# get pkg path
|
||||
pkg_path = srv._get_package_path(repo_id, dbconn, pkg_id)
|
||||
if not os.path.isfile(pkg_path):
|
||||
print "WTF, not a package file =>", pkg_path
|
||||
continue
|
||||
# now extract
|
||||
tmp_dir = tempfile.mkdtemp()
|
||||
rc = entropy.tools.uncompress_tarball(pkg_path, extract_path = tmp_dir,
|
||||
catch_empty = True)
|
||||
if rc != 0:
|
||||
print "WTF, cannot extract file", pkg_path, "at dir", tmp_dir
|
||||
continue
|
||||
|
||||
|
||||
la_paths = []
|
||||
for cur_dir, subdirs, files in os.walk(tmp_dir):
|
||||
for file in files:
|
||||
path = os.path.join(cur_dir, file)
|
||||
if path.endswith(".la") and os.path.isfile(path) and os.access(path, os.R_OK):
|
||||
la_paths.append(path)
|
||||
|
||||
if not la_paths:
|
||||
continue
|
||||
|
||||
# print "pkg:", dbconn.retrieveAtom(pkg_id), "la:", la_paths
|
||||
found = False
|
||||
for la_path in la_paths:
|
||||
# apply regexps
|
||||
la_f = open(la_path, "r")
|
||||
la_content = la_f.read()
|
||||
la_f.close()
|
||||
for la_pattern, cm_pattern in la_compiled_patterns.items():
|
||||
if cm_pattern.search(la_content):
|
||||
found = True
|
||||
break
|
||||
if found:
|
||||
print dbconn.retrieveKeySlotAggregated(pkg_id)
|
||||
break
|
||||
|
||||
shutil.rmtree(tmp_dir, True)
|
||||
|
||||
srv.shutdown()
|
||||
raise SystemExit(0)
|
Loading…
Reference in New Issue
Block a user