summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-portage/cfg-update')
-rw-r--r--app-portage/cfg-update/Manifest1
-rw-r--r--app-portage/cfg-update/cfg-update-1.8.9.ebuild105
-rw-r--r--app-portage/cfg-update/files/cfg-update-1.8.2-bashrc.patch51
-rw-r--r--app-portage/cfg-update/files/cfg-update-1.8.2-xxdiff-to-beediff.patch45
-rw-r--r--app-portage/cfg-update/metadata.xml10
5 files changed, 212 insertions, 0 deletions
diff --git a/app-portage/cfg-update/Manifest b/app-portage/cfg-update/Manifest
new file mode 100644
index 000000000000..25535d17b12c
--- /dev/null
+++ b/app-portage/cfg-update/Manifest
@@ -0,0 +1 @@
+DIST cfg-update-1.8.9.tgz 162356 SHA256 82d14b3cd7b1c144d7d77836919689471cd31c69cefba9b8714580e6cf1e495e SHA512 2c2d4d5cddaf1c5c8233bfde29b488d682e723da3e267756e203b4ea3c97f2f88615530002975ff07fb466eebed603e4ce227591a1b1e09ef3aca8c2eb17fcb9 WHIRLPOOL d17b179bc4589cc650178e981c0d5a6e336023f3128a9b76c1a4a19e0fe347982ff75d2337ed972e040fec1b93097b4336818b748f2af20eccb2e82f332417af
diff --git a/app-portage/cfg-update/cfg-update-1.8.9.ebuild b/app-portage/cfg-update/cfg-update-1.8.9.ebuild
new file mode 100644
index 000000000000..336793040737
--- /dev/null
+++ b/app-portage/cfg-update/cfg-update-1.8.9.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Easy to use GUI & CLI alternative for etc-update with safe automatic updating functionality"
+HOMEPAGE="https://github.com/rich0/cfg-update"
+SRC_URI="https://github.com/rich0/cfg-update/tarball/${PV} -> ${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE="X"
+
+RDEPEND="
+ dev-perl/TermReadKey
+ X? (
+ >=x11-misc/sux-1.0
+ x11-apps/xhost
+ )"
+
+S="${WORKDIR}/rich0-cfg-update-2f10786"
+
+pkg_prerm() {
+ if [[ ${ROOT} == / ]]
+ then
+ ebegin "Disabling portage hook"
+ cfg-update --ebuild --disable-portage-hook
+ eend $?
+ ebegin "Disabling paludis hook"
+ cfg-update --ebuild --disable-paludis-hook
+ eend $?
+ fi
+}
+
+pkg_postrm() {
+ echo
+ ewarn "If you want to permanently remove cfg-update from your system"
+ ewarn "you should remove the index file /var/lib/cfg-update/checksum.index"
+ echo
+}
+
+src_install() {
+ dobin \
+ cfg-update emerge_with_indexing_for_cfg-update \
+ emerge_with_indexing_for_cfg-update_phphelper \
+ cfg-update_phphelper emerge_with_indexing_for_cfg-update_bashhelper
+ insinto /usr/lib/cfg-update
+ doins cfg-update cfg-update_indexing test.tgz
+ dodoc ChangeLog
+ doman *.8
+ insinto /etc
+ doins cfg-update.conf cfg-update.hosts
+ keepdir /var/lib/cfg-update
+}
+
+pkg_postinst() {
+ if [[ ! -e "${ROOT}"/var/lib/cfg-update/checksum.index \
+ && -e "${ROOT}"/var/lib/cfg-update/checksum.index ]]
+ then
+ ebegin "Moving checksum.index from /usr/lib/cfg-update to /var/lib/cfg-update"
+ mv "${ROOT}"/usr/lib/cfg-update/checksum.index \
+ "${ROOT}"/var/lib/cfg-update/checksum.index
+ eend $?
+ fi
+
+ if [[ -e "${ROOT}"/usr/bin/paludis ]]
+ then
+ echo
+ ewarn "If you have used Paludis version <0.20.0 on your system, chances are"
+ ewarn "that you have some corrupted CONTENTS files on your system..."
+ echo
+ ewarn "Please run: cfg-update --check-packages"
+ echo
+ ewarn "The above command will check all packages installed with Paludis and"
+ ewarn "will output a list of packages that need to be re-installed with"
+ ewarn "Paludis 0.20.0 or higher. If you do not re-install these packages"
+ ewarn "you risk losing your custom settings when updating configuration"
+ ewarn "files, that belong to these packages, with cfg-update!"
+ echo
+ fi
+
+ if [[ ${ROOT} == / ]]
+ then
+ ebegin "Moving backups to /var/lib/cfg-update/backups"
+ /usr/bin/cfg-update --ebuild --move-backups
+ eend $?
+ fi
+
+ echo
+ einfo "If this is a first time install, please check the configuration"
+ einfo "in /etc/cfg-update.conf before using cfg-update:"
+ echo
+ einfo "If your system does not have an X-server installed you need to"
+ einfo "change the MERGE_TOOL to sdiff, imediff2 or vimdiff."
+ einfo "If you have X installed, set MERGE_TOOL to your favorite GUI tool:"
+ einfo "xxdiff, beediff, kdiff3, meld (default), gtkdiff, gvimdiff, tkdiff"
+ echo
+ einfo "TIP: to maximize the chances of future automatic updates, run:"
+ einfo "cfg-update --optimize-backups"
+ echo
+}
diff --git a/app-portage/cfg-update/files/cfg-update-1.8.2-bashrc.patch b/app-portage/cfg-update/files/cfg-update-1.8.2-bashrc.patch
new file mode 100644
index 000000000000..73fe9b83103a
--- /dev/null
+++ b/app-portage/cfg-update/files/cfg-update-1.8.2-bashrc.patch
@@ -0,0 +1,51 @@
+--- cfg-update-1.8.2-r1/cfg-update
++++ cfg-update-1.8.2-r1/cfg-update
+@@ -538,9 +538,9 @@
+ local $ENV{LC_ALL}="C";
+ if (`grep '^.*cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
+ local $ENV{LC_ALL}="C";
+- if (`grep '^#.*cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
++ if (`grep ': cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
+ &root_only("Can't enable the Portage hook if you're not root...");
+- `perl -p -i -e 's/#if \\[ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" \\] && \\[ -e \\"\\/usr\\/bin\\/cfg-update\\" \\]; then cfg-update --index; fi/if \\[ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" \\] && \\[ -e \\"\\/usr\\/bin\\/cfg-update\\" \\]; then cfg-update --index; fi/;' $portage_hook`;
++ `perl -p -i -e 's/: (cfg-update.*--index)/\$1/;' $portage_hook`;
+ if ($opt_d >= 1) { print "$tab"."Enabled Portage hook in $portage_hook...\n"; }
+ } else {
+ if ($opt_d >= 1) { print "$tab"."Portage hook is already enabled...\n"; }
+@@ -549,16 +549,17 @@
+ &root_only("Can't add the Portage hook if you're not root...");
+ `echo >> $portage_hook`;
+ `echo "# This hook is neccesary for automatic updating of the cfg-update index, please do not modify it!" >> $portage_hook`;
+- `echo "if [ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" ] && [ -e \\"/usr/bin/cfg-update\\" ]; then cfg-update --index; fi" >> $portage_hook`;
+- `echo >> $portage_hook`;
++ `echo "pre_pkg_setup() {" >> $portage_hook`;
++ `echo " [[ \\\$ROOT = / ]] && cfg-update --index" >> $portage_hook`;
++ `echo "}" >> $portage_hook`;
+ if ($opt_d >= 1) { print "$tab"."Added Portage hook in $portage_hook...\n"; }
+ }
+ } else {
+ &root_only("Can't create the Portage hook if you're not root...");
+- `echo >> $portage_hook`;
+ `echo "# This hook is neccesary for automatic updating of the cfg-update index, please do not modify it!" >> $portage_hook`;
+- `echo "if [ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" ] && [ -e \\"/usr/bin/cfg-update\\" ]; then cfg-update --index; fi" >> $portage_hook`;
+- `echo >> $portage_hook`;
++ `echo "pre_pkg_setup() {" >> $portage_hook`;
++ `echo " [[ \\\$ROOT = / ]] && cfg-update --index" >> $portage_hook`;
++ `echo "}" >> $portage_hook`;
+ if ($opt_d >= 1) { print "$tab"."Created Portage hook in $portage_hook...\n"; }
+ }
+ }
+@@ -2209,11 +2210,11 @@
+ local $ENV{LC_ALL}="C";
+ if (`grep '^.*cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
+ local $ENV{LC_ALL}="C";
+- if (`grep '^#.*cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
++ if (`grep ': cfg-update.*--index' $portage_hook` =~ /cfg-update/) {
+ if ($opt_ebuild == 0) { print "$tab"." Portage hook is already disabled...\n"; }
+ } else {
+ &root_only("Can't disable the Portage hook if you're not root...");
+- `perl -p -i -e 's/^if \\[ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" \\] && \\[ -e \\"\\/usr\\/bin\\/cfg-update\\" \\]; then cfg-update --index; fi/#if \\[ \\"\\\$EBUILD_PHASE\\" = \\"setup\\" \\] && \\[ -e \\"\\/usr\\/bin\\/cfg-update\\" \\]; then cfg-update --index; fi/;' $portage_hook`;
++ `perl -p -i -e 's/cfg-update.*--index/: \$&/;' $portage_hook`;
+ if ($opt_ebuild == 0) { print "$tab"." Disabled Portage hook in $portage_hook...\n"; }
+ }
+ } else {
diff --git a/app-portage/cfg-update/files/cfg-update-1.8.2-xxdiff-to-beediff.patch b/app-portage/cfg-update/files/cfg-update-1.8.2-xxdiff-to-beediff.patch
new file mode 100644
index 000000000000..b1d2416aec67
--- /dev/null
+++ b/app-portage/cfg-update/files/cfg-update-1.8.2-xxdiff-to-beediff.patch
@@ -0,0 +1,45 @@
+http://bugs.gentoo.org/show_bug.cgi?id=300216
+http://bugs.gentoo.org/show_bug.cgi?id=303199
+
+--- cfg-update.conf
++++ cfg-update.conf
+@@ -1,10 +1,10 @@
+ # +----------+
+ # | MERGETOOL \
+ # +------------+-------------------------------------------------------------+
+-# | The recommended tool for merging is xxdiff but you can also use other |
+-# | tools if you don't like xxdiff. The Supported tools are listed below: |
++# | The recommended tool for merging is beediff but you can also use other |
++# | tools if you don't like beediff. The Supported tools are listed below: |
+ # +----------+-----+--------------------------+------------------------------+
+-# | xxdiff | GUI | KDE (or Gnome with QT) | |
++# | beediff | GUI | QT | |
+ # | kdiff3 | GUI | KDE (or Gnome with QT) | |
+ # | meld | GUI | Gnome (or KDE with GTK) | |
+ # | gtkdiff | GUI | Gnome (or KDE with GTK) | STAGE 3 not supported! |
+@@ -14,7 +14,7 @@
+ # | sdiff | CLI | Systems without X | STAGE 3 not supported! |
+ # | imediff2 | CLI | Systems without X | STAGE 3 not supported! |
+ # +----------+-----+--------------------------+------------------------------+
+-MERGE_TOOL = /usr/bin/xxdiff
++MERGE_TOOL = /usr/bin/beediff
+
+
+ # +--------+
+@@ -64,7 +64,7 @@
+ # | If a merge-conflict has been detected in STAGE 2, you can now solve it |
+ # | manually in the MERGETOOL. Simply select the line(s) you need. When you |
+ # | are done, cfg-update will replace the current configuration file with the|
+-# | merged result. Stage 3 works with xxdiff, kdiff3, meld, tkdiff, gtkdiff. |
++# | merged result. Stage 3 works with beediff, kdiff3, meld, tkdiff, gtkdiff.|
+ # +--------------------------------------------------------------------------+
+ ENABLE_STAGE3 = yes
+
+@@ -145,7 +145,6 @@
+ # INDEX_FILE = /var/lib/cfg-update/checksum.index # this file contains all MD5 checksums for the host
+ # PKG_DB = /var/db/pkg # this directory contains the CONTENTS files (you can change it when your system uses another location)
+ # HOSTS_FILE = /etc/cfg-update.hosts # this file contains all sshfs-mount settings for updating remote machines from a single location
+-# XXDIFF_STYLE = "--style Keramik" # this variable controls the style of xxdiff
+ #
+ ##############################################################################
+ # IF YOU CHANGE THE FILENAME FORMAT VARIABLES, CFG-UPDATE WILL BE BROKEN! #
diff --git a/app-portage/cfg-update/metadata.xml b/app-portage/cfg-update/metadata.xml
new file mode 100644
index 000000000000..423c3c76552c
--- /dev/null
+++ b/app-portage/cfg-update/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>rich0@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rich0/cfg-update</remote-id>
+ </upstream>
+</pkgmetadata>