Code: Select all
DEPEND=">=x11-libs/qt-3.0.0
=dev-util/tmake-1.8*
kde? ( >=kde-base/kdelibs-3.1.0 )"
Code: Select all
root@tux rberry88 # cfg-update
Portage Log not found...
Enable PORT_LOGDIR in /etc/make.conf
Recommended: PORT_LOGDIR=/var/log/portage
Make sure the directory exists!
Code: Select all
root@tux rberry88 # cat /etc/make.conf
# Copyright 2000-2002 Daniel Robbins, Gentoo Technologies, Inc.
# Contains local system settings for Portage system
# Please review 'man make.conf' for more information.
# Build-time functionality
# ========================
#
# The USE variable is used to enable optional build-time functionality. For
# example, quite a few packages have optional X, gtk or GNOME functionality
# that can only be enabled or disabled at compile-time. Gentoo Linux has a
# very extensive set of USE variables described in our USE variable HOWTO at
# http://www.gentoo.org/doc/use-howto.html
#
# The available list of use flags with descriptions is in your portage tree.
# Use 'less' to view them: --> less /usr/portage/profiles/use.desc <--
#
# Example:
#USE="X gtk gnome -alsa"
USE="gnome gtk -kde -qt"
USE="qt kde -gnome -gtk"
USE="cups"
# Host Setting
# ============
#
# If you are using a Pentium Pro or greater processor, leave this line as-is;
# otherwise, change to i586, i486 or i386 as appropriate. All modern systems
# (even Athlons) should use "i686-pc-linux-gnu"
#
CHOST="i686-pc-linux-gnu"
# Host and optimization settings
# ==============================
#
# For optimal performance, enable a CFLAGS setting appropriate for your CPU
#
# -mcpu=<cpu-type> means optimize code for the particular type of CPU without
# breaking compatibility with other CPUs.
#
# -march=<cpu-type> means to take full advantage of the ABI and instructions
# for the particular CPU; this will break compatibility with older CPUs (for
# example, -march=athlon-xp code will not run on a regular Athlon, and
# -march=i686 code will not run on a Pentium Classic.
#
# CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp, athlon-4,
# athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686
# (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3,
# and pentium4. Note that Gentoo Linux 1.4 and higher include at least gcc-3.2.
#
# CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686
# (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95*
#
# Decent examples:
#
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CFLAGS="-O2 -march=athlon-xp -pipe"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings. If you don't set CFLAGS above, then comment this line out.
CXXFLAGS="${CFLAGS}"
# Advanced Masking
# ================
#
# Gentoo is using a new masking system to allow for easier stability testing
# on packages. KEYWORDS are used in ebuilds to mask and unmask packages based
# on the platform they are set for. A special form has been added that
# indicates packages and revisions that are expected to work, but have not yet
# been approved for the stable set. '~arch' is a superset of 'arch' which
# includes the unstable, in testing, packages. Users of the 'x86' architecture
# would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages.
# '~ppc', '~sparc', '~sparc64' are the unstable KEYWORDS for their respective
# platforms. DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST.
# IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS.
#
#ACCEPT_KEYWORDS="~arch"
# Portage Directories
# ===================
#
# Each of these settings controls an aspect of portage's storage and file
# system usage. If you change any of these, be sure it is available when
# you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
#
# PORTAGE_TMPDIR is the location portage will use for compilations and
# temporary storage of data. This can get VERY large depending upon
# the application being installed.
#PORTAGE_TMPDIR="/var/tmp"
#
# PORTDIR is the location of the portage tree. This is the repository
# for all profile information as well as all ebuilds. This directory
# itself can reach 200M. WE DO NOT RECOMMEND that you change this.
#PORTDIR="/usr/portage"
# PORT_LOGDIR is the log where any error messages are store when emerge fails
# and when you do cfg-update it will store the changes here
PORT_LOGDIR=/var/log/portgage
# DISTDIR is where all of the source code tarballs will be placed for
# emerges. The source code is maintained here unless you delete
# it. The entire repository of tarballs for gentoo is 9G. This is
# considerably more than any user will ever download. 2-3G is
# a large DISTDIR.
#DISTDIR="${PORTDIR}/distfiles"
#
# PKGDIR is the location of binary packages that you can have created
# with '--buildpkg' or '-b' while emerging a package. This can get
# upto several hundred megs, or even a few gigs.
#PKGDIR="${PORTDIR}/packages"
#
# PORTDIR_OVERLAY is a directory where local ebuilds may be stored without
# concern that they will be deleted by rsync updates. Default is not
# defined.
PORTDIR_OVERLAY="/usr/local/portage"
# Fetching files
# ==============
#
# If you need to set a proxy for wget or lukemftp, add the appropriate "export
# ftp_proxy=<proxy>" and "export http_proxy=<proxy>" lines to /etc/profile if
# all users on your system should use them.
#
# Portage uses wget by default. Here are some settings for some alternate
# downloaders -- note that you need to merge these programs first before they
# will be available.
#
# Lukemftp (BSD ftp):
#FETCHCOMMAND="/usr/bin/lukemftp -s -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="/usr/bin/lukemftp -s -a -R -o \${DISTDIR}/\${FILE} \${URI}"
#
# Prozilla (turbo downloader)
#FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'
# Advanced Features
# =================
#
# MAKEOPTS provides extra options that may be passed to 'make' when a
# program is compiled. Presently the only use is for specifying
# the number of parallel makes (-j) to perform. The suggested number
# for parallel makes is CPUs+1.
#MAKEOPTS="-j2"
#
# AUTOCLEAN enables portage to automatically clean out older or overlapping
# packages from the system after every successful merge. This is the
# same as running 'emerge -c' after every merge. Set with: "yes" or "no".
#AUTOCLEAN="yes"
#
# FEATURES are settings that affect the functionality of portage. Most of
# these settings are for developer use, but some are available to non-
# developers as well. 'buildpkg' is an always-on setting for the emerge
# flag of the same name. It causes binary packages to be created of all
# packages that are merged.
#FEATURES="sandbox ccache buildpkg"
#
# RSYNC_RETRIES sets the number of times portage will attempt to retrieve
# a current portage tree before it exits with an error. This allows
# for a more successful retrieval without user intervention most times.
#RSYNC_RETRIES="3"
GENTOO_MIRRORS="ftp://ibiblio.org/pub/Linux/distributions/gentoo/ http://www.gtlib.cc.gatech.edu/pub/gentoo"
root@tux rberry88 #
Code: Select all
root@tux rberry88 # cd /var
root@tux var # ls
cache cvsroot db ekpd empty lib lock log mail run spool state tmp
root@tux var # cd log
root@tux log # ls
XFree86.0.log XFree86.8.log.old genkernel.log messages scrollkeeper.log
XFree86.0.log.old cups kdm.log news wtmp
XFree86.8.log emerge.log lastlog portage xdm.log
root@tux log # cd portage
root@tux portage #
There are a couple of ways of doing this. You can either "inject" xxdiff with "emerge -i xxdiff"OrezzerO wrote:Any way to use the CLI version w/o installing X?
I would love to try this but do *not* want to emerge X11*


Code: Select all
version 1.5
# defining patterns... (line 57)
my $config_new = "._cfg????_*";
my $rm_new = "\\._cfg\\d+_";
my $backup_old = "*.oldcfg";
my $restore_old = "*";
my $rm_old = "\\.oldcfg";
my $backup_new = "*.newcfg";
my $restore_new = "._cfg0000_*";
my $merged = "*.merge";Code: Select all
version 1.6
# defining patterns... (line 57)
my $config_new = "._cfg????_*";
my $rm_new = "\\._cfg\\d+_";
my $backup_old = "._old-cfg_*";
my $restore_old = "*";
my $rm_old = "\\._old-cfg_";
my $backup_new = "._new-cfg_*";
my $restore_new = "._cfg0000_*";
my $merged = "*.merge";Code: Select all
for i in `find / -iname *.oldcfg`; do j=$(dirname $i); k=$(basename $i | sed 's/.oldcfg//'); echo "Renaming $i -> $j/._old-cfg_$k"; `echo "mv $i $j/._old-cfg_$k"`; done ; for i in `find / -iname *.newcfg`; do j=$(dirname $i); k=$(basename $i | sed 's/.newcfg//'); echo "Renaming $i -> $j/._new-cfg_$k"; `echo "mv $i $j/._new-cfg_$k"`; done
I'm not trying to be difficult, and I think you've created a great tool, but you could always have a directory somewhere (/etc/cfg-backups for example) that has a 'mirror' structure of /etc (just directories) and you store the backups in the relevant place. Using a hidden file is probably adequate howeverxentric wrote:The problem I have with putting all backups in a single directory, is that it get's a lot harder
to simply restore the backup. I have to include it's original location in the backupfile itself.
Then after restoring I have to remove this info from the file. It doesn't make it easier for
someone who tries to manually restore files either. There are plenty ways to do this, but I
think the above solution is clean and simple...
Code: Select all
bash-2.05b$ su -l
Password:
expresso mark # cfg-update --check
________________________________________________________________________________
/root/.bashrc [found] edit this file as described in the man page!
/root/.bash_profile [missing...copied]
/root/.Xdefaults [found] edit this file as described in the man page!
________________________________________________________________________________
expresso mark # cfg-update -u
No (._cfg[0-9]{4}_*) files found...
* GNU info directory index is up-to-date.
* IMPORTANT: 23 config files in /etc need updating.
* IMPORTANT: 2 config files in /usr/X11R6/lib/X11/xkb need updating.
* IMPORTANT: 1 config files in /usr/kde/3.2/share/config need updating.
Gentoo pross # cfg-update -l
No (._cfg[0-9]{4}_*) files found...
Gentoo pross # cfg-update --check
________________________________________________________________________________
/root/.bashrc [found] edit this file as described in the man page!
/root/.bash_profile [found]
/root/.Xdefaults [found] edit this file as described in the man page!
________________________________________________________________________________


I agree. It seems like portages is just slogging us with extra work in this instance.mark_lybarger wrote: imo, portage itself needs the ability to auto update files the user hasn't touched personally or through an application.

