diff options
33 files changed, 0 insertions, 1391 deletions
diff --git a/bin/antimatter-digest b/bin/antimatter-digest deleted file mode 100755 index d62a1f8..0000000 --- a/bin/antimatter-digest +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -. /etc/profile - -set -e - -TMPL_PATH="$(dirname "${0}")/antimatter" -HEADER_PATH="${TMPL_PATH}/antimatter.html.header" -FOOTER_PATH="${TMPL_PATH}/antimatter.html.footer" -ANTIMATTER="${ANTIMATTER:-antimatter}" - -( - cat "${HEADER_PATH}" - - # Upgradable packages - "${ANTIMATTER}" -u --quiet --extended --html - - # Dead packages (dropped by upstream) - "${ANTIMATTER}" -e --quiet --extended --html - - # New packages - temp disabled - # "${ANTIMATTER}" -n --quiet --extended --html - # cat "${FOOTER_PATH}" - -) | sed \ - -e "s|class='rt'|style='color: green;'|g" \ - -e "s|class='frompkg'|style='color: brown;'|g" \ - -e "s|class='topkg'|style='font-weight: bold; color: red;'|g" diff --git a/bin/antimatter/antimatter.html.footer b/bin/antimatter/antimatter.html.footer deleted file mode 100644 index 308b1d0..0000000 --- a/bin/antimatter/antimatter.html.footer +++ /dev/null @@ -1,2 +0,0 @@ -</body> -</html> diff --git a/bin/antimatter/antimatter.html.header b/bin/antimatter/antimatter.html.header deleted file mode 100644 index 53dd3c4..0000000 --- a/bin/antimatter/antimatter.html.header +++ /dev/null @@ -1,27 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<body> - -<style> -.rt { - color: green; - font-family: arial, sans-serif; - font-size: 0.85em; -} - -.rd { - font-size: 0.7em; - margin-bottom: 0.3em; -} - -.frompkg { - color: brown; - font-family: arial, sans-serif; -} - -.topkg { - color: red; - font-weight: bold; - font-family: arial, sans-serif; -} -</style> diff --git a/bin/armv7a-emerge b/bin/armv7a-emerge deleted file mode 100755 index 742b925..0000000 --- a/bin/armv7a-emerge +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -. /etc/make.conf - -# just make sure -FEATURES="${FEATURES} distcc distcc-pump" - -DISTCC_PATH="/usr/lib/distcc/bin" -CUR_CHOST="$(basename /usr/lib/gcc/armv*)" -DISTCC_WRAPPER="${CUR_CHOST}-wrapper" - -pushd "${DISTCC_PATH}" > /dev/null || exit 1 -cur_link=$(readlink cc) -if [ "${cur_link}" = "/usr/bin/distcc" ] || [ ! -f "${DISTCC_WRAPPER}" ]; then - echo "Fixing links in ${DISTCC_PATH}" - rm -f c++ g++ gcc cc || exit 1 - echo "#!/bin/bash" > "${DISTCC_WRAPPER}" - echo "exec /usr/lib/distcc/bin/${CUR_CHOST}-g\${0:\$[-2]} \"\$@\"" >> "${DISTCC_WRAPPER}" - chmod a+x "${DISTCC_WRAPPER}" || exit 1 - ln -s "${DISTCC_WRAPPER}" cc || exit 1 - ln -s "${DISTCC_WRAPPER}" gcc || exit 1 - ln -s "${DISTCC_WRAPPER}" g++ || exit 1 - ln -s "${DISTCC_WRAPPER}" c++ || exit 1 -fi -popd > /dev/null - -export FEATURES PATH -exec emerge "$@" diff --git a/bin/atoms_to_keylost b/bin/atoms_to_keylost deleted file mode 100755 index 60e8404..0000000 --- a/bin/atoms_to_keylost +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/python -import sys -import entropy.dep - -atoms = sys.argv[1:] - -keyslot_cache = set() -for atom in atoms: - key = entropy.dep.dep_getkey(atom) - with open("/var/db/pkg/%s/SLOT" % (atom,)) as slot_f: - slot = slot_f.readline().strip() - keyslot = "%s:%s" % (key, slot) - if keyslot in keyslot_cache: - continue - print(keyslot) - keyslot_cache.add(keyslot) - diff --git a/bin/buildrc b/bin/buildrc deleted file mode 100644 index 237f0b2..0000000 --- a/bin/buildrc +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -_exec_locked() { - local tmp_dir="/var/tmp" - local lvm_snapshot_lock_file="/.entropy_locks/vg_chroots-lv_chroots-snapshot.lock" - local snapshot_lock_file="${tmp_dir}/.emerge.snapshot.lock" - local matter_lock_file="${tmp_dir}/.matter_resource.lock" - - if [ ! -d "${tmp_dir}" ]; then - echo "${tmp_dir} is missing, creating it..." >&2 - mkdir -p "${tmp_dir}" - fi - - flock -x -n "${matter_lock_file}" true - rc=${?} - if [ "${rc}" != "0" ]; then - echo >&2 - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >&2 - echo "Matter or the Backup Script is running on this chroot" >&2 - echo "Please be patient, it will eventually terminate..." >&2 - echo "Snapshot lock file = ${snapshot_lock_file}" >&2 - echo "Matter lock file = ${matter_lock_file}" >&2 - echo >&2 - echo "This ${1} instance will terminate NOW" >&2 - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >&2 - echo >&2 - return 1 - else - # acquire snapshot read lock in non-blocking, shared mode - ( - flock -s -n 9 || { - echo "Hello there," >&2; - echo "a chroot snapshot is in progress..." >&2; - echo "Try again later." >&2; - exit 1; - } - - flock -s --timeout=120 10 - if [ "${?}" != "0" ]; then - echo >&2 - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >&2 - echo "The LVM lock of the Backup Script is being held for 2 minutes" >&2 - echo "This should not happen. Please contact stefan.cristian@rogentos.ro and" >&2 - echo "stop any activity NOW. However, if you're in an emergency" >&2 - echo "Just rm ${lvm_snapshot_lock_file} and continue." >&2 - echo "Please note that this will cause inconsistent backups." >&2 - echo >&2 - echo "This instance will terminate NOW" >&2 - echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >&2 - echo >&2 - exit 1 - fi - - "${@}" - exit ${?} - - ) 9> "${snapshot_lock_file}" 10>"${lvm_snapshot_lock_file}" - return ${?} - fi -} - -emerge() { - _exec_locked "/usr/bin/emerge" --quiet-build=y --oneshot "${@}" - return ${?} -} - -eit() { - _exec_locked "/usr/bin/eit" "${@}" - return ${?} -} - -# Alias configuration -alias cosmos=/particles/cosmos/cosmos diff --git a/bin/bump_ati_drivers b/bin/bump_ati_drivers deleted file mode 100755 index e0e5040..0000000 --- a/bin/bump_ati_drivers +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc -packages="x11-drivers/ati-drivers::kogaion-desktop" - -# build for latest kernel -KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge $packages media-video/amdcccle::kogaion-desktop -echo -5 | etc-update -eit commit - -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 - eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; } -done - -echo "Now you should remove old packages..." diff --git a/bin/bump_crossdev b/bin/bump_crossdev deleted file mode 100644 index 668b817..0000000 --- a/bin/bump_crossdev +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -ARCHES=( - armv7a-hardfloat-linux-gnueabi - armv7a-unknown-linux-gnueabi - armv6j-hardfloat-linux-gnueabi -) - -GCC_VER="--g ~4.7.3" -LIBC_VER="--l ~2.17" -K_VER="--k ~3.7" -BINUTILS_VER="--b =2.23*" - -for a in "${ARCHES[@]}"; do - # USE="-fortran" or glibc will fail to compile - USE="-fortran -gtk" crossdev -t "${a}" \ - -oS "/usr/local/portage" \ - -oO "/usr/local/portage" \ - ${GCC_VER} ${LIBC_VER} ${K_VER} ${BINUTILS_VER} || exit 1 -done diff --git a/bin/bump_injected_ati_drivers b/bin/bump_injected_ati_drivers deleted file mode 100755 index 5ee9e62..0000000 --- a/bin/bump_injected_ati_drivers +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -kernels="2.6.36-kogaion 2.6.37-kogaion 2.6.38-kogaion" -packages="=x11-drivers/ati-drivers-11.2-r1" -non_injected_packages="~x11-drivers/ati-userspace-11.2" -ETP_REPO="${ETP_REPO:-kogaion-testing}" - -rm -rf /usr/portage/packages/x11-drivers/* -emerge -B ${non_injected_packages} || exit 1 -eit inject --to ${ETP_REPO} /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 - eit inject --to ${ETP_REPO} /usr/portage/packages/x11-drivers/* - echo -done diff --git a/bin/bump_injected_kernel_mods b/bin/bump_injected_kernel_mods deleted file mode 100755 index 240706b..0000000 --- a/bin/bump_injected_kernel_mods +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh - -kernel="${1}" -if [ -z "${kernel}" ]; then - echo "$0 <kernel>" - echo "example: $0 2.6.35-kogaion" - 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:-kogaionlinux.ro}" - -# build for latest kernel -rm -rf /usr/portage/packages/* -KERNEL_DIR="/usr/src/linux-${kernel}" emerge -Bav ${packages} -if [ "${?}" != "0" ]; then - exit 1 -fi -eit inject --to ${ETP_REPO} $(find /usr/portage/packages -name "*.tbz2" | xargs echo) - -echo "Now you should remove old packages, if you want of course" diff --git a/bin/bump_injected_nvidia_drivers b/bin/bump_injected_nvidia_drivers deleted file mode 100755 index 9a394e5..0000000 --- a/bin/bump_injected_nvidia_drivers +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc - -packages="=x11-drivers/nvidia-drivers-173* =x11-drivers/nvidia-drivers-304*" -non_kernel_packages="=x11-drivers/nvidia-userspace-173* =x11-drivers/nvidia-userspace-304*" -ETP_REPO="${ETP_REPO:-kogaion-testing}" - -rm -rf /usr/portage/packages/x11-drivers/* -emerge -B ${non_kernel_packages} || exit 1 -eit inject --to ${ETP_REPO} /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 - eit inject --to ${ETP_REPO} /usr/portage/packages/x11-drivers/* - echo -done diff --git a/bin/bump_kernel_package b/bin/bump_kernel_package deleted file mode 100755 index 1a184a0..0000000 --- a/bin/bump_kernel_package +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc - -if [ "${#}" -lt 1 ]; then - echo "${0} <package> <package> ..." >&2 /dev/null - echo "example: ${0} net-wireless/broadcom-sta" >&2 /dev/null - exit 1 -fi - -# build for latest kernel -KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge "${@}" || exit 1 -echo -5 | etc-update -eit add "${@}" || exit 1 - -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 "${@}" || { 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 - eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; } -done - -echo "Now you should remove old packages..." diff --git a/bin/bump_kernel_package_inject b/bin/bump_kernel_package_inject deleted file mode 100755 index 8948cf2..0000000 --- a/bin/bump_kernel_package_inject +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc - -if [ "${#}" -lt 1 ]; then - echo "${0} <package> <package> ..." >&2 /dev/null - echo "example: ${0} net-wireless/broadcom-sta" >&2 /dev/null - exit 1 -fi - -for kernel in ${kernels}; do - rm -rf /usr/portage/packages/* - KERNEL_DIR="/usr/src/linux-${kernel}" emerge -B "${@}" || { echo "ouch unable to build" && exit 1; } - built_pkgs=$(find /usr/portage/packages -name "*.tbz2" | xargs) - [[ -z "${built_pkgs}" ]] && echo "ouch no kernel pkgs" && exit 2 - eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; } -done diff --git a/bin/bump_kernel_packages b/bin/bump_kernel_packages deleted file mode 100755 index 30d8fc4..0000000 --- a/bin/bump_kernel_packages +++ /dev/null @@ -1,246 +0,0 @@ -#!/usr/bin/python2 - -import argparse -import atexit -import os -import pwd -import subprocess -import shutil -import sys -import tempfile - -from entropy.server.interfaces import Server - -import entropy.dep - - -if __name__ == "__main__": - - srv = Server() - - def ValidString(arg): - if not arg: - raise ValueError("invalid string") - return arg - - def ValidRepository(arg): - if arg not in srv.repositories(): - raise ValueError("invalid repository %s" % (arg,)) - return arg - - parser = argparse.ArgumentParser( - description="Bump Kernel Packages for Entropy Server") - - parser.add_argument( - "query_version", metavar="<query version>", - help="the uname version to query", - type=ValidString) - parser.add_argument( - "build_version", metavar="<build version>", - help="the uname version to build packages for", - type=ValidString) - - parser.add_argument( - "build_repo", metavar="<build repo>", - help="the repository to place packages into", - type=ValidRepository) - - parser.add_argument( - "--only-injected", action="store_true", default=False, - help="only consider injected packages") - parser.add_argument( - "--no-spm-repo", action="store_true", default=False, - help=("do not include the SPM repository suffix " - "in dependency atoms")) - parser.add_argument( - "--keyslot", action="store_true", default=False, - help=("do not use the exact package version but " - "rather key:slot")) - parser.add_argument( - "--canfail", action="store_true", default=False, - help="if emerge can fail and you want to ignore it") - - parser.add_argument( - "--non-interactive", action="store_true", default=False, - help="if set, the script will run in non-interactive mode") - - parser.add_argument( - "--disable-shell-wrap", action="store_true", default=False, - help="if set, the script will not source .bashrc") - - nsargs = parser.parse_args(sys.argv[1:]) - - known_multiple_injected_versions = set([ - "x11-drivers/nvidia-drivers:0", - "x11-drivers/ati-drivers:0", - ]) - - pkgs_map = {} - try: - - pkg_matches = {} - repository_ids = srv.repositories() - for repository_id in repository_ids: - repo = srv.open_repository(repository_id) - pkg_ids = repo.searchTaggedPackages(nsargs.query_version) - - for pkg_id in pkg_ids: - key_slot = repo.retrieveKeySlotAggregated(pkg_id) - obj = pkg_matches.setdefault(key_slot, set()) - obj.add((pkg_id, repository_id)) - - injected_pkgs = [] - normal_pkgs = [] - for key_slot, candidates in pkg_matches.items(): - candidate = srv.atom_match(key_slot + "#" + nsargs.query_version) - if candidate not in candidates: - print("%s (%s) not in candidates %s, skipping" % ( - candidate, key_slot, candidates)) - continue - pkg_id, repository_id = candidate - repo = srv.open_repository(repository_id) - if repo.isInjected(pkg_id): - injected_pkgs.append(candidate) - else: - normal_pkgs.append(candidate) - - # address other injected pkgs, like older nvidia drivers - for other_candidate in candidates: - if other_candidate != candidate: - pkg_id, repository_id = other_candidate - repo = srv.open_repository(repository_id) - if repo.isInjected(pkg_id): - clean_key_slot = entropy.dep.remove_tag_from_slot( - key_slot) - # filter out packages that we know we don't handle multiple - # versions of them. - if clean_key_slot in known_multiple_injected_versions: - injected_pkgs.append(other_candidate) - - normal_atoms = [] - injected_atoms = [] - data = ( - (normal_pkgs, normal_atoms), - (injected_pkgs, injected_atoms) - ) - - spm = srv.Spm() - - for lst, dst in data: - for pkg_id, repository_id in lst: - repo = srv.open_repository(repository_id) - if nsargs.keyslot: - atom_str = entropy.dep.remove_tag_from_slot( - repo.retrieveKeySlotAggregated(pkg_id)) - else: - atom_str = "~" + entropy.dep.remove_tag( - repo.retrieveAtom(pkg_id)) - if not nsargs.no_spm_repo: - spm_repo = repo.retrieveSpmRepository(pkg_id) - if spm_repo is not None: - atom_str += "::" + spm_repo - - if not spm.match_package(atom_str): - print("%s not found in Portage, skipping" % (atom_str,)) - continue - - dst.append(atom_str) - finally: - srv.shutdown() - - if not nsargs.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) - - def clean_dirs(xdirs): - for directory in xdirs: - try: - shutil.rmtree(directory, True) - except shutil.Error: - pass - - dirs = [] - atexit.register(clean_dirs, dirs) - - os.environ['KERNEL_DIR'] = "/usr/src/linux-%s" % ( - nsargs.build_version,) - - portage_tmpdir = tempfile.mkdtemp( - dir="/var/tmp", prefix="bump_kernel_packages.portage_tmpdir") - os.chmod(portage_tmpdir, 0o775) - - try: - pass_s = pwd.getpwnam("portage") - os.chown(portage_tmpdir, pass_s.pw_uid, pass_s.pw_gid) - except KeyError: - pass - - dirs.append(portage_tmpdir) - os.environ["PORTAGE_TMPDIR"] = portage_tmpdir - cmd_prefix = "" - if not nsargs.disable_shell_wrap: - cmd_prefix = "test -e ~/.bashrc && source ~/.bashrc;" - - if normal_atoms and not nsargs.only_injected: - args = ["emerge", "-v", "--keep-going"] - if not nsargs.non_interactive: - args.append("-a") - args += [x for x in normal_atoms] - # emerge is a shell function in bashrc - rc = subprocess.call(cmd_prefix + " ".join(args), shell=True) - if rc != 0 and not nsargs.canfail: - raise SystemExit(rc) - subprocess.call(["/usr/sbin/etc-update"]) - - args = ["eit", "add", "--to", nsargs.build_repo] - if nsargs.non_interactive: - args.append("--quick") - - args += normal_atoms - # eit is a shell function in bashrc - rc = subprocess.call(cmd_prefix + " ".join(args), shell=True) - if rc != 0: - raise SystemExit(rc) - - if injected_atoms: - tmp_dir = tempfile.mkdtemp( - dir="/var/tmp", prefix="bump_kernel_packages") - dirs.append(tmp_dir) - os.environ['PKGDIR'] = tmp_dir - - args = ["emerge", "-Bv", "--nodeps", "--keep-going"] - if not nsargs.non_interactive: - args.append("-a") - args += [x for x in injected_atoms] - # emerge is a shell function in .bashrc - rc = subprocess.call(cmd_prefix + " ".join(args), shell=True) - if rc != 0 and not nsargs.canfail: - 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: - args = ["eit", "inject", "--to", nsargs.build_repo] - args += tbz2s - # eit is a shell function in bashrc - rc = subprocess.call(cmd_prefix + " ".join(args), shell=True) - if rc != 0: - raise SystemExit(rc) - - raise SystemExit(0) diff --git a/bin/bump_kernel_video_drivers b/bin/bump_kernel_video_drivers deleted file mode 100755 index 4fc6d97..0000000 --- a/bin/bump_kernel_video_drivers +++ /dev/null @@ -1,33 +0,0 @@ -#!/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. - -. /kogaion/bin/kernels.inc - -packages="=x11-drivers/nvidia-drivers-173* =x11-drivers/nvidia-drivers-304* =x11-drivers/nvidia-drivers-313*" -non_injected_packages="x11-drivers/nvidia-drivers x11-drivers/ati-drivers x11-drivers/xf86-video-virtualbox" -general_purpose_packages="media-video/amdcccle" -ETP_REPO="${ETP_REPO:-kogaion-testing}" - -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 - eit inject --to ${ETP_REPO} /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 -eit add ${non_injected_packages} ${general_purpose_packages} || exit 1 - -echo "Now you should remove old packages, if you want of course" diff --git a/bin/bump_misc b/bin/bump_misc deleted file mode 100755 index 837cdb7..0000000 --- a/bin/bump_misc +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -# script that makes it easier to bump split packages -# (and perhaps other fun stuff) - -. /kogaion/bin/buildrc || exit 2 - -list="git [sub]version [tra]nsmission" -cmd="emerge -av" -default_overlay="kogaion-desktop" -overlay= - -if [ "$1" = "--repo" ]; then - overlay=$2 - if [ -z "$overlay" ]; then - echo "--repo requires an argument" >&2 - exit 1 - fi - shift; shift -fi - -overlay=${overlay:-$default_overlay} - -what=$1 - -if [ -z "$what" ]; then - echo "What to compile? [ $list ]" - read what -fi - -case $what in -git) - $cmd \ - dev-vcs/git::"$overlay" \ - dev-vcs/git-cvs \ - dev-vcs/git-gui-tools \ - dev-vcs/git-subversion \ - www-apps/gitweb - ;; -subversion|sub) - $cmd \ - dev-vcs/subversion::"$overlay" \ - dev-vcs/subversion-java \ - www-apache/mod_dav_svn - ;; -transmission|tra) - $cmd \ - net-p2p/transmission-base \ - net-p2p/transmission-cli \ - net-p2p/transmission-daemon \ - net-p2p/transmission-gtk \ - net-p2p/transmission-qt4 \ - net-p2p/transmission::"$overlay" - ;; -*) - echo "Excuse me, but I non capisco." >&2 - echo "Use --repo <repository> to use different overlay (default: $default_overlay)." >&2 - [ -n "$1" ] && echo "Run without any parameter for interactive use." >&2 - exit 1 -esac diff --git a/bin/bump_notice_weekly_repo b/bin/bump_notice_weekly_repo deleted file mode 100755 index 9879a17..0000000 --- a/bin/bump_notice_weekly_repo +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -ssh entropy@pkg.rogentos.ro /kogaion/bin/update-kogaion-weekly-notice diff --git a/bin/bump_nvidia_drivers b/bin/bump_nvidia_drivers deleted file mode 100755 index 4598056..0000000 --- a/bin/bump_nvidia_drivers +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc -packages="x11-drivers/nvidia-drivers::kogaion-desktop" - -# build for latest kernel -KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge $packages media-video/nvidia-settings::kogaion-desktop -echo -5 | etc-update -eit commit - -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 - eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; } - echo -done - -echo "Now you should remove old packages..." diff --git a/bin/bump_vbox b/bin/bump_vbox deleted file mode 100755 index 55eb76c..0000000 --- a/bin/bump_vbox +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -. /kogaion/bin/kernels.inc -packages="app-emulation/virtualbox-guest-additions app-emulation/virtualbox-modules x11-drivers/xf86-video-virtualbox" -non_tagged_packages="virtualbox-bin" - -# build for latest kernel -KERNEL_DIR="/usr/src/linux-${running_kernel}" emerge $packages ${non_tagged_packages} || exit 1 -echo -5 | etc-update -eit add ${packages} ${non_tagged_packages} || exit 1 - -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 - eit inject ${built_pkgs} || { echo "ouch unable to inject" && exit 3; } - echo - eit search "#${kernel}" -q | sort | uniq - echo -done - -echo "Now you should remove old packages" -echo "PLEASE also see /etc/entropy/packages/packages.server.dep_rewrite" diff --git a/bin/bump_weekly_repo b/bin/bump_weekly_repo deleted file mode 100755 index 5b278c1..0000000 --- a/bin/bump_weekly_repo +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -ssh entropy@pkg.rogentos.ro /kogaion/bin/update-kogaion-weekly-repository diff --git a/bin/check_la b/bin/check_la deleted file mode 100755 index 0ab6db7..0000000 --- a/bin/check_la +++ /dev/null @@ -1,66 +0,0 @@ -#!/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", "kogaionlinux.ro") -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) diff --git a/bin/clean_old_injected_packages b/bin/clean_old_injected_packages deleted file mode 100755 index 03d4a94..0000000 --- a/bin/clean_old_injected_packages +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/python - -import sys -sys.path.insert(0, "/usr/lib/matter") -sys.path.insert(0, "/usr/lib/entropy/lib") - -import os - -from entropy.server.interfaces import Server -from entropy.i18n import _ - -from matter.spec import SpecParser -import matter.binpms.entropysrv # plugin registration - - -PARTICLES_DIR = "/particles" - - -if __name__ == "__main__": - - # collect particles - particles = [] - for root, dirs, files in os.walk(PARTICLES_DIR): - for name in files: - if name.endswith(".particle"): - particles.append(os.path.join(root, name)) - - packages = set() - for particle in particles: - with open(particle, "r") as f: - spec = SpecParser(f) - data = spec.parse() - if not data: - continue - - if data.get("build-only", "no") != "yes": - continue - - drop_injected = data.get("drop-old-injected", "no") == "yes" - if not drop_injected: - continue - for p_packages in data.get("packages", []): - packages.update(p_packages) - - packages = sorted(packages) - - srv = Server() - for repository in srv.repositories(): - - repo = srv.open_repository(repository) - for package in packages: - - latest_package_id, _mrc = repo.atomMatch(package) - if latest_package_id == -1: - continue - - package_ids, _mrc = repo.atomMatch(package, multiMatch=True) - if not package_ids: - continue - - key_slots = set() - for package_id in package_ids: - key, slot = repo.retrieveKeySlot(package_id) - key_slots.add((key, slot)) - - key_slot_package_ids = set() - for key, slot in key_slots: - ks_package_ids = [x for x in repo.searchKeySlot(key, slot) \ - if repo.isInjected(x)] - key_slot_package_ids.update(ks_package_ids) - - key_slot_package_ids.discard(latest_package_id) - if key_slot_package_ids: - key_slot_package_ids = sorted(key_slot_package_ids) - atoms = [repo.retrieveAtom(x) for x in key_slot_package_ids] - atoms.sort() - - latest_atom = repo.retrieveAtom(latest_package_id) - srv.output("%s is the latest package" % (latest_atom)) - srv.output("removing old packages:") - for atom in atoms: - srv.output(" %s" % (atom,)) - resp = srv.ask_question("Really remove?") - if resp != _("Yes"): - continue - - srv.remove_packages( - repository, key_slot_package_ids) - srv.commit_repositories() - - srv.destroy() diff --git a/bin/get_package_changes b/bin/get_package_changes deleted file mode 100755 index 0d54747..0000000 --- a/bin/get_package_changes +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/python2 -import sys - -from entropy.server.interfaces import Server -from entropy.const import etpUi -etpUi['quiet'] = True -import entropy.dep -import portage - -def print_help(): - sys.stderr.write("get_package_changes <added|removed>\n") - -if __name__ == "__main__": - - args = sys.argv[1:] - if not args: - print_help() - raise SystemExit(1) - - cmd = args.pop(0) - if cmd not in ("added", "removed"): - print_help() - raise SystemExit(1) - - srv = Server() - repositories = srv.repositories() - pkg_keys = set() - - for repository_id in repositories: - repo = srv.open_repository(repository_id) - for atom, package_id, branch in repo.listAllPackages(): - pkg_keys.add(entropy.dep.dep_getkey(atom)) - - portdb = portage.db["/"]['porttree'] - def _match_filter(atom): - best_visible = portdb.dbapi.xmatch("bestmatch-visible", atom) - if best_visible: - return True - return False - - portage_pkg_keys = set(portdb.getallnodes()) - - if cmd == "added": - added = sorted(filter(_match_filter, portage_pkg_keys - pkg_keys)) - for pkg_key in added: - sys.stdout.write(pkg_key + "\n") - sys.stdout.flush() - elif cmd == "removed": - removed = sorted(pkg_keys - portage_pkg_keys) - for pkg_key in removed: - sys.stdout.write(pkg_key + "\n") - sys.stdout.flush() - srv.shutdown() - raise SystemExit(0) diff --git a/bin/get_package_changes_client b/bin/get_package_changes_client deleted file mode 100755 index b773389..0000000 --- a/bin/get_package_changes_client +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/python2 -import sys - -from entropy.client.interfaces import Client -from entropy.const import etpUi -etpUi['quiet'] = True -import entropy.dep -import portage - -def print_help(): - sys.stderr.write("get_package_changes <added|removed>\n") - -if __name__ == "__main__": - - args = sys.argv[1:] - if not args: - print_help() - raise SystemExit(1) - - cmd = args.pop(0) - if cmd not in ("added", "removed"): - print_help() - raise SystemExit(1) - - client = Client() - repositories = client.repositories() - pkg_keys = set() - - for repository_id in repositories: - repo = client.open_repository(repository_id) - for atom, package_id, branch in repo.listAllPackages(): - pkg_keys.add(entropy.dep.dep_getkey(atom)) - - portdb = portage.db["/"]['porttree'] - def _match_filter(atom): - best_visible = portdb.dbapi.xmatch("bestmatch-visible", atom) - if best_visible: - return True - return False - - portage_pkg_keys = set(portdb.getallnodes()) - - if cmd == "added": - added = sorted(filter(_match_filter, portage_pkg_keys - pkg_keys)) - for pkg_key in added: - sys.stdout.write(pkg_key + "\n") - sys.stdout.flush() - elif cmd == "removed": - removed = sorted(pkg_keys - portage_pkg_keys) - for pkg_key in removed: - sys.stdout.write(pkg_key + "\n") - sys.stdout.flush() - client.shutdown() - raise SystemExit(0) - diff --git a/bin/get_preserved_libs b/bin/get_preserved_libs deleted file mode 100755 index 6f66cb9..0000000 --- a/bin/get_preserved_libs +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/python - -import sys - -from _emerge.actions import load_emerge_config -import portage.dep - -settings, trees, mtimedb = load_emerge_config() -vardb = trees[settings["ROOT"]]["vartree"].dbapi - -linkmap = vardb._linkmap -reg = vardb._plib_registry - -reg.lock() -try: - plibdata = reg.getPreservedLibs() - - if plibdata: - sys.stdout.write("# list of bumped libraries:\n") - - for cpv, paths in plibdata.items(): - sys.stdout.write("%s\n" % (cpv,)) - for path in sorted(paths): - sys.stderr.write(" %s\n" % (path,)) - - if plibdata: - sys.stdout.write("# list of inverse deps:\n") - - # taken from display_preserved_libs.py, Portage - linkmap.rebuild() # can raise CommandNotFound - consumer_map = {} - search_for_owners = set() - for cpv in plibdata: - internal_plib_keys = set(linkmap._obj_key(f) for f in plibdata[cpv]) - for f in plibdata[cpv]: - if f in consumer_map: - continue - - consumers = [] - for c in linkmap.findConsumers(f): - # Filter out any consumers that are also preserved libs - # belonging to the same package as the provider. - if linkmap._obj_key(c) not in internal_plib_keys: - consumers.append(c) - consumers.sort() - consumer_map[f] = consumers - search_for_owners.update(consumers) - - owners = {} - for f in search_for_owners: - owner_set = set() - for owner in linkmap.getOwners(f): - owner_dblink = vardb._dblink(owner) - if owner_dblink.exists(): - owner_set.add(owner_dblink) - if owner_set: - owners[f] = owner_set - - all_preserved = set() - all_preserved.update(*plibdata.values()) - owners_map = {} - - for cpv in plibdata: - sys.stdout.write("%s\n" % (cpv,)) - samefile_map = {} - for f in plibdata[cpv]: - obj_key = linkmap._obj_key(f) - alt_paths = samefile_map.get(obj_key) - if alt_paths is None: - alt_paths = set() - samefile_map[obj_key] = alt_paths - alt_paths.add(f) - - for alt_paths in samefile_map.values(): - alt_paths = sorted(alt_paths) - for p in alt_paths: - sys.stderr.write(" - %s" % (p,)) - f = alt_paths[0] - consumers = consumer_map.get(f, []) - - consumers_non_preserved = [c for c in consumers - if c not in all_preserved] - if consumers_non_preserved: - # Filter the consumers that are preserved libraries, since - # they don't need to be rebuilt (see bug #461908). - consumers = consumers_non_preserved - - for c in consumers: - owner_pkgs = [] - if c in all_preserved: - # The owner is displayed elsewhere due to having - # its libs preserved, so distinguish this special - # case (see bug #461908). - owners_desc = "preserved" - else: - owner_cpvs = [x.mycpv for x in owners.get(c, [])] - owner_pkgs.extend(owner_cpvs) - owners_desc = ", ".join(owner_cpvs) - - sys.stderr.write(" used by %s (%s)\n" % (c, owners_desc)) - - for owner_pkg in owner_pkgs: - cp_slot = "%s:%s" % ( - portage.dep.dep_getkey("=" + owner_pkg), - vardb.aux_get(owner_pkg, ["SLOT"])[0] - ) - obj = owners_map.setdefault(cp_slot, set()) - obj.add(c) - - sys.stdout.flush() - sys.stderr.flush() - - if owners_map: - sys.stdout.write("# grouped list of rebuilds:\n") - - for owner_pkg in sorted(owners_map.keys()): - owner_files = sorted(owners_map[owner_pkg]) - sys.stdout.write("%s\n" % (owner_pkg,)) - for owner_file in owner_files: - sys.stderr.write(" %s\n" % (owner_file,)) - - sys.stdout.flush() - sys.stderr.flush() - -finally: - reg.unlock() diff --git a/bin/glsa-digest b/bin/glsa-digest deleted file mode 100755 index d340b76..0000000 --- a/bin/glsa-digest +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -. /etc/profile - -exec /usr/bin/glsa-check --verbose --nocolor -t all diff --git a/bin/kernel-autobump b/bin/kernel-autobump deleted file mode 100755 index 94b6faa..0000000 --- a/bin/kernel-autobump +++ /dev/null @@ -1,150 +0,0 @@ -#!/bin/bash - -# Variables -REPO_PATH=${1} -PULL_REMOTE=${2} -PUSH_REMOTE=${3} -BRANCH=${4} -PREFIX=${5} -REGEX=${6} - -show_help() { - echo "${0} <repo path> <pull remote> <push remote> <branch> <push tag prefix> v<track regex>" >&2 - echo "Example: ${0} ~/repos/kernel stable origin 3.12 kogaion- 3\.12\.[0-9999]" >&2 -} - -if [ ! -d "${REPO_PATH}" ]; then - show_help - exit 1 -fi - -if [ -z "${PULL_REMOTE}" ]; then - show_help - exit 1 -fi - -if [ -z "${PUSH_REMOTE}" ]; then - show_help - exit 1 -fi - -if [ -z "${BRANCH}" ]; then - show_help - exit 1 -fi - -if [ -z "${PREFIX}" ]; then - show_help - exit 1 -fi - -if [ -z "${REGEX}" ]; then - show_help - exit 1 -fi - -rollback() { - cd "${REPO_PATH}" || return 1 - git rebase --abort || true - git reset --hard "${PUSH_REMOTE}/${BRANCH}" || return 1 -} - -start() { - cd "${REPO_PATH}" || return 1 - - echo "Fetching ${PULL_REMOTE}" - git fetch --quiet "${PULL_REMOTE}" || { - rollback - return 1; - } - - echo "Fetching ${PUSH_REMOTE}" - git fetch --quiet "${PUSH_REMOTE}" || { - rollback - return 1; - } - - local tags=$(git tag | grep -e "v${REGEX}") - echo "Tracking tags:" - echo -e "${tags}" - if [ -z "${tags}" ]; then - echo "No tags to track for: ${REGEX} in ${REPO_PATH}" - return 0 - fi - - local bumps=() - local tag= tracked_tag= - for tag in ${tags}; do - tracked_tag="${PREFIX}${tag/v}" - echo "Checking tag: ${tag}, ${tracked_tag}" - if ! git tag | grep -q -e "^${tracked_tag}$"; then - echo "Not tracked: ${tag}, ${tracked_tag}" - bumps+=( "${tag}" ) - fi - done - - if [ -z "${bumps[*]}" ]; then - echo "Nothing to do." - return 0 - fi - - if ! git show-branch "${BRANCH}" > /dev/null; then - echo "Creating branch: ${BRANCH}" - git checkout -q "${PUSH_REMOTE}/${BRANCH}" -b "${BRANCH}" || { - rollback - return 1; - } - else - echo "Checking out branch: ${BRANCH}" - git checkout -q "${BRANCH}" || { - rollback - return 1; - } - fi - - echo "Updating branch" - git rebase --quiet "${PUSH_REMOTE}/${BRANCH}" || { - rollback - return 1; - } - - for tag in "${bumps[@]}"; do - echo "Working on tag: ${tag}" - git merge --quiet "${tag}" -m "Automatic merge of tag ${PULL_REMOTE}/${tag}" || { - rollback - return 1; - } - bash kogaion/bump-configs.sh || { - rollback - return 1; - } - - local changed=$(git ls-files -m -d -o --exclude-standard kogaion/config) - if [ -n "${changed}" ]; then - git commit --quiet kogaion/config -m "kogaion: bump configs" || { - rollback - return 1; - } - fi - - git push --quiet || { - rollback - return 1; - } - git push --quiet --tags || { - rollback - return 1; - } - - tracked_tag="${PREFIX}${tag/v}" - bash kogaion/tag-version.sh "${tracked_tag}" || { - rollback - return 1; - } - - echo "Released ${tracked_tag}" - done -} - - -start diff --git a/bin/kernel-autobump-tracker b/bin/kernel-autobump-tracker deleted file mode 100755 index 14aef3f..0000000 --- a/bin/kernel-autobump-tracker +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -. /etc/profile - -cd $(dirname "${0}") || exit 1 - -# Tracked kernels -./kernel-autobump /home/kogaionlenux/repos/kernel stable origin 3.10 kogaion- "3\.10\.[0-9999]" -./kernel-autobump /home/kogaionlenux/repos/kernel stable origin 3.12 kogaion- "3\.12\.[0-9999]" -./kernel-autobump /home/kogaionlenux/repos/kernel stable origin 3.14 kogaion- "3\.14\.[0-9999]" -./kernel-autobump /home/kogaionlenux/repos/kernel stable origin 3.15 kogaion- "3\.15\.[0-9999]" -./kernel-autobump /home/kogaionlenux/repos/kernel stable origin 3.16 kogaion- "3\.16\.[0-9999]" diff --git a/bin/kernels.inc b/bin/kernels.inc deleted file mode 100644 index b884364..0000000 --- a/bin/kernels.inc +++ /dev/null @@ -1,3 +0,0 @@ -kernels="$(for d in $(find /usr/src -maxdepth 1 -name "linux-*-kogaion" -type d -print); do d=$(basename $d); echo ${d/linux-}; done | sort)" - -running_kernel="$(d=$(basename $(readlink /usr/src/linux)); echo ${d/linux-})" diff --git a/bin/matter-scheduler-chroot b/bin/matter-scheduler-chroot deleted file mode 100755 index 356bbb8..0000000 --- a/bin/matter-scheduler-chroot +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -safe_exec() { - echo "safe_exec: ${*}" - local tries=5 - - for ((i=0; i < ${tries}; i++)); do - "${@}" && return 0 - - if [ "${i}" = "0" ]; then - sleep 10 - continue - else - sleep 60 - continue - fi - done - return 1 -} - -cd "${PARTICLES_DIR}" || exit 1 -safe_exec git pull || exit 1 -cd "${BUILD_GIT_DIR}" || exit 1 -safe_exec git pull || exit 1 - -particles=$(find "${PARTICLES_DIR}" -name "*.particle" | sort) -if [ -n "${particles}" ]; then - /usr/sbin/env-update - . /etc/profile - matter ${MATTER_ARGS} ${particles} - exit ${?} -fi -exit 1 diff --git a/bin/rebuild_e17 b/bin/rebuild_e17 deleted file mode 100755 index 1605ca4..0000000 --- a/bin/rebuild_e17 +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# Yeah, E17 is crap, real pure crap - -# STRICT ORDER! -# http://www.enlightenment.org/p.php?p=download&l=en -PACKAGES=" - dev-libs/eina - dev-libs/eet - media-libs/evas - dev-libs/ecore - dev-libs/embryo - media-libs/edje - dev-libs/efreet - dev-libs/e_dbus - dev-libs/eeze - x11-wm/enlightenment" - -emerge ${PACKAGES} --nodeps diff --git a/bin/sshd_wrapper b/bin/sshd_wrapper deleted file mode 100755 index 7ea8331..0000000 --- a/bin/sshd_wrapper +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec /usr/sbin/sshd -e "${@}" 2> /.sshd.log diff --git a/bin/test_dep_rewrite b/bin/test_dep_rewrite deleted file mode 100755 index b8efb72..0000000 --- a/bin/test_dep_rewrite +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/python -import sys -import re - - -if __name__ == "__main__": - args = sys.argv[1:] - if not args or len(args) < 3: - sys.stderr.write( - "%s <target dependency> <rewrite rule> " - "<replace 1> [<replace 2> ...\n" % (sys.argv[0],)) - raise SystemExit(1) - - target, pattern, replaces = args[0], args[1], args[2:] - sys.stdout.write("Target: %s\n" % (target,)) - sys.stdout.write("Pattern: %s\n" % (pattern,)) - sys.stdout.write("Rewrites: %s\n" % (", ".join(replaces),)) - - if pattern.startswith("++"): - sys.stderr.write("You are just asking to add dep, meh!\n") - raise SystemExit(1) - - sys.stdout.write("\n") - - compiled_pattern = re.compile(pattern) - if not compiled_pattern.match(target): - sys.stderr.write("Error: Pattern does not match target dep\n") - raise SystemExit(1) - - exit_st = 0 - for replace in replaces: - new_target, number_of_subs = compiled_pattern.subn( - replace, target) - if number_of_subs: - sys.stdout.write("%s -> %s\n" % (target, new_target)) - else: - sys.stderr.write("Error, not replaced: %s -> %s\n" % ( - target, replace,)) - exit_st = 1 - - raise SystemExit(exit_st) |