From: Frank Brehm Date: Tue, 29 Jan 2013 21:39:51 +0000 (+0100) Subject: Current state X-Git-Url: https://git.uhu-banane.net/?a=commitdiff_plain;h=d3ff21df270da5906e4f7eb608da87fae6421e3a;p=config%2Fhelga%2Fetc.git Current state --- diff --git a/bash_completion.d/git-prompt b/bash_completion.d/git-prompt new file mode 120000 index 0000000..30cedda --- /dev/null +++ b/bash_completion.d/git-prompt @@ -0,0 +1 @@ +../../usr/share/bash-completion/git-prompt \ No newline at end of file diff --git a/colordiffrc b/colordiffrc index 6e75b2b..4bcb02d 100644 --- a/colordiffrc +++ b/colordiffrc @@ -8,6 +8,9 @@ banner=no # To make the patch file *include* colours, change the option # below to 'yes' color_patches=no +# Sometimes it can be useful to specify which diff command to +# use: that can be specified here +diff_cmd=diff # # available colours are: white, yellow, green, blue, # cyan, red, magenta, black, diff --git a/colordiffrc-lightbg b/colordiffrc-lightbg index fe5333f..2dfab3c 100644 --- a/colordiffrc-lightbg +++ b/colordiffrc-lightbg @@ -8,6 +8,9 @@ banner=no # To make the patch file *include* colours, change the option # below to 'yes' color_patches=no +# Sometimes it can be useful to specify which diff command to +# use: that can be specified here +diff_cmd=diff # # available colours are: white, yellow, green, blue, # cyan, red, magenta, black, diff --git a/conf.d/git-daemon b/conf.d/git-daemon index 97ca122..f4f5408 100644 --- a/conf.d/git-daemon +++ b/conf.d/git-daemon @@ -11,6 +11,7 @@ # --port=XXXX --- Starts in port XXXX instead of 9418 # #GITDAEMON_OPTS="--syslog /var/git" +#GITDAEMON_OPTS="--syslog --base-path=/var/git" GITDAEMON_OPTS="--syslog --verbose --base-path=/var/lib/git /var/lib/git" # To run an anonymous git safely, the following user should be able to only diff --git a/conf.d/udev b/conf.d/udev index 12c2afa..667cc8b 100644 --- a/conf.d/udev +++ b/conf.d/udev @@ -1,16 +1,5 @@ # /etc/conf.d/udev: config file for udev -# We discourage to disable persistent-net!! -# this may lead to random interface naming - -# Disable adding new rules for persistent-net -persistent_net_disable="no" - -# Disable adding new rules for persistent-cd -# Disabling this will stop new cdrom devices to appear -# as /dev/{cdrom,cdrw,dvd,dvdrw} -persistent_cd_disable="no" - # udev can trigger coldplug events which cause services to start and # kernel modules to be loaded. # Services are deferred to start in the boot runlevel. @@ -22,9 +11,6 @@ persistent_cd_disable="no" # in /etc/conf.d/rc: rc_plug_services="!*" #rc_coldplug="YES" - - - # Expert options: # Timeout in seconds to wait for processing of uevents at boot. @@ -35,12 +21,12 @@ persistent_cd_disable="no" # udevd --help for possible values #udev_opts="" -# Run udevd --debug and write output to $RUNDIR/udev.log +# Run udevd --debug and write output to /run/udevdebug.log # Should not be kept on as it fills diskspace slowly #udev_debug="YES" # Run udevadmin monitor to get a log of all events -# in $RUNDIR/udevmonitor.log +# in /run/udevmonitor.log #udev_monitor="YES" # Keep udevmonitor running after populating /dev. diff --git a/config-archive/etc/conf.d/git-daemon.dist b/config-archive/etc/conf.d/git-daemon.dist new file mode 100644 index 0000000..db77de5 --- /dev/null +++ b/config-archive/etc/conf.d/git-daemon.dist @@ -0,0 +1,19 @@ +# conf.d file for git-daemon +# +# Please check man 1 git-daemon for more information about the options +# git-daemon accepts. You MUST edit this to include your repositories you wish +# to serve. +# +# Some of the meaningful options are: +# --syslog --- Enables syslog logging +# --verbose --- Enables verbose logging +# --export-all --- Exports all repositories +# --port=XXXX --- Starts in port XXXX instead of 9418 +# +GITDAEMON_OPTS="--syslog --base-path=/var/git" + +# To run an anonymous git safely, the following user should be able to only +# read your Git repositories. It should not able able to write to anywhere on +# your system, esp. not the repositories. +GIT_USER="nobody" +GIT_GROUP="nobody" diff --git a/config-archive/etc/conf.d/git-daemon.dist.new b/config-archive/etc/conf.d/git-daemon.dist.new deleted file mode 100644 index 75b4216..0000000 --- a/config-archive/etc/conf.d/git-daemon.dist.new +++ /dev/null @@ -1,19 +0,0 @@ -# conf.d file for git-daemon -# -# Please check man 1 git-daemon for more information about the options -# git-daemon accepts. You MUST edit this to include your repositories you wish -# to serve. -# -# Some of the meaningful options are: -# --syslog --- Enables syslog logging -# --verbose --- Enables verbose logging -# --export-all --- Exports all repositories -# --port=XXXX --- Starts in port XXXX instead of 9418 -# -GITDAEMON_OPTS="--syslog /var/git" - -# To run an anonymous git safely, the following user should be able to only -# read your Git repositories. It should not able able to write to anywhere on -# your system, esp. not the repositories. -GIT_USER="nobody" -GIT_GROUP="nobody" diff --git a/config-archive/etc/courier/authlib/authdaemonrc b/config-archive/etc/courier/authlib/authdaemonrc index f11ec92..e36d896 100644 --- a/config-archive/etc/courier/authlib/authdaemonrc +++ b/config-archive/etc/courier/authlib/authdaemonrc @@ -1,4 +1,4 @@ -##VERSION: $Id: authdaemonrc.in,v 1.13 2005/10/05 00:07:32 mrsam Exp $ +##VERSION: $Id: authdaemonrc.in 17 2011-04-04 02:07:37Z mrsam $ # # Copyright 2000-2005 Double Precision, Inc. See COPYING for # distribution information. diff --git a/config-archive/etc/courier/authlib/authdaemonrc.1 b/config-archive/etc/courier/authlib/authdaemonrc.1 new file mode 100644 index 0000000..f11ec92 --- /dev/null +++ b/config-archive/etc/courier/authlib/authdaemonrc.1 @@ -0,0 +1,103 @@ +##VERSION: $Id: authdaemonrc.in,v 1.13 2005/10/05 00:07:32 mrsam Exp $ +# +# Copyright 2000-2005 Double Precision, Inc. See COPYING for +# distribution information. +# +# authdaemonrc created from authdaemonrc.dist by sysconftool +# +# Do not alter lines that begin with ##, they are used when upgrading +# this configuration. +# +# This file configures authdaemond, the resident authentication daemon. +# +# Comments in this file are ignored. Although this file is intended to +# be sourced as a shell script, authdaemond parses it manually, so +# the acceptable syntax is a bit limited. Multiline variable contents, +# with the \ continuation character, are not allowed. Everything must +# fit on one line. Do not use any additional whitespace for indentation, +# or anything else. + +##NAME: authmodulelist:2 +# +# The authentication modules that are linked into authdaemond. The +# default list is installed. You may selectively disable modules simply +# by removing them from the following list. The available modules you +# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe + +authmodulelist="authmysql authpam" + +##NAME: authmodulelistorig:3 +# +# This setting is used by Courier's webadmin module, and should be left +# alone + +authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe" + +##NAME: daemons:0 +# +# The number of daemon processes that are started. authdaemon is typically +# installed where authentication modules are relatively expensive: such +# as authldap, or authmysql, so it's better to have a number of them running. +# PLEASE NOTE: Some platforms may experience a problem if there's more than +# one daemon. Specifically, SystemV derived platforms that use TLI with +# socket emulation. I'm suspicious of TLI's ability to handle multiple +# processes accepting connections on the same filesystem domain socket. +# +# You may need to increase daemons if as your system load increases. Symptoms +# include sporadic authentication failures. If you start getting +# authentication failures, increase daemons. However, the default of 5 +# SHOULD be sufficient. Bumping up daemon count is only a short-term +# solution. The permanent solution is to add more resources: RAM, faster +# disks, faster CPUs... + +daemons=5 + +##NAME: authdaemonvar:2 +# +# authdaemonvar is here, but is not used directly by authdaemond. It's +# used by various configuration and build scripts, so don't touch it! + +authdaemonvar=/var/lib/courier/authdaemon + +##NAME: DEBUG_LOGIN:0 +# +# Dump additional diagnostics to syslog +# +# DEBUG_LOGIN=0 - turn off debugging +# DEBUG_LOGIN=1 - turn on debugging +# DEBUG_LOGIN=2 - turn on debugging + log passwords too +# +# ** YES ** - DEBUG_LOGIN=2 places passwords into syslog. +# +# Note that most information is sent to syslog at level 'debug', so +# you may need to modify your /etc/syslog.conf to be able to see it. + +DEBUG_LOGIN=0 + +##NAME: DEFAULTOPTIONS:0 +# +# A comma-separated list of option=value pairs. Each option is applied +# to an account if the account does not have its own specific value for +# that option. So for example, you can set +# DEFAULTOPTIONS="disablewebmail=1,disableimap=1" +# and then enable webmail and/or imap on individual accounts by setting +# disablewebmail=0 and/or disableimap=0 on the account. + +DEFAULTOPTIONS="" + +##NAME: LOGGEROPTS:0 +# +# courierlogger(1) options, e.g. to set syslog facility +# + +LOGGEROPTS="" + +##NAME: LDAP_TLS_OPTIONS:0 +# +# Options documented in ldap.conf(5) can be set here, prefixed with 'LDAP'. +# Examples: +# +#LDAPTLS_CACERT=/path/to/cacert.pem +#LDAPTLS_REQCERT=demand +#LDAPTLS_CERT=/path/to/clientcert.pem +#LDAPTLS_KEY=/path/to/clientkey.pem diff --git a/config-archive/etc/courier/authlib/authdaemonrc.dist b/config-archive/etc/courier/authlib/authdaemonrc.dist index c382447..4b758be 100644 --- a/config-archive/etc/courier/authlib/authdaemonrc.dist +++ b/config-archive/etc/courier/authlib/authdaemonrc.dist @@ -1,4 +1,4 @@ -##VERSION: $Id: authdaemonrc.in 17 2011-04-04 02:07:37Z mrsam $ +##VERSION: $Id: authdaemonrc.in 239 2012-10-06 23:51:19Z mrsam $ # # Copyright 2000-2005 Double Precision, Inc. See COPYING for # distribution information. @@ -17,21 +17,21 @@ # fit on one line. Do not use any additional whitespace for indentation, # or anything else. -##NAME: authmodulelist:2 +##NAME: authmodulelist:3 # # The authentication modules that are linked into authdaemond. The # default list is installed. You may selectively disable modules simply # by removing them from the following list. The available modules you -# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe +# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe -authmodulelist="authmysql " +authmodulelist="authmysql authpgsql authsqlite authldap authpam authuserdb authshadow authcustom authpipe" -##NAME: authmodulelistorig:3 +##NAME: authmodulelistorig:4 # # This setting is used by Courier's webadmin module, and should be left # alone -authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe" +authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe" ##NAME: daemons:0 # diff --git a/config-archive/etc/mail/aliases b/config-archive/etc/mail/aliases new file mode 100644 index 0000000..3d3d90f --- /dev/null +++ b/config-archive/etc/mail/aliases @@ -0,0 +1,52 @@ +# +# Lokale Alias-Definitionen +# +# Erstellt am: 2011-03-24 23:20:09 +# +# ACHTUNG !!!!! +# +# Bitte keine manuellen Änderungen an dieser Datei! +# Zum Ändern bitte MySQL-Tabelle 'alias' in der Datenbank 'vmail' auf localhost editieren. +# + +abuse: postmaster +adm: root +apache: webmaster +bin: root +brehm: frank +daemon: root +decode: noreply +emerge: root +exim: root +f-brehm: frank +f.brehm: frank +fbr: frank +fbrehm: frank +frak: frank +frank-brehm: frank +frank.brehm: frank +ftp: root +hostmaster: root +lp: root +mail: root +mailer-daemon: postmaster +nagios: root +named: root +news: usenet +nobody: noreply +noc: root +noreply: /dev/null +operator: noreply +paludis: root +portage: root +postfix: root +postmaster: root +root: frank +security: root +sms-frank: 01716439844@t-d1-sms.de +usenet: root +uucp: root +virusalert: postmaster +webmaster: root +www: webmaster + diff --git a/config-archive/etc/mail/aliases.dist.new b/config-archive/etc/mail/aliases.dist.new new file mode 100644 index 0000000..ea83505 --- /dev/null +++ b/config-archive/etc/mail/aliases.dist.new @@ -0,0 +1,33 @@ +# Basic system aliases -- these MUST be present. +MAILER-DAEMON: postmaster +postmaster: root + +# General redirections for pseudo accounts. +adm: root +bin: root +daemon: root +exim: root +lp: root +mail: root +named: root +nobody: root +postfix: root + +# Well-known aliases -- these should be filled in! +# root: +# operator: + +# Standard RFC2142 aliases +abuse: postmaster +ftp: root +hostmaster: root +news: usenet +noc: root +security: root +usenet: root +uucp: root +webmaster: root +www: webmaster + +# trap decode to catch security attacks +# decode: /dev/null diff --git a/config-archive/etc/mysql/my.cnf.dist.new b/config-archive/etc/mysql/my.cnf.dist.new index 50a3c2e..833d8ae 100644 --- a/config-archive/etc/mysql/my.cnf.dist.new +++ b/config-archive/etc/mysql/my.cnf.dist.new @@ -1,5 +1,5 @@ # /etc/mysql/my.cnf: The global mysql configuration file. -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.3 2012/02/15 02:07:21 jmbsvicetto Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.4 2013/01/20 02:40:02 robbat2 Exp $ # The following options will be passed to all MySQL clients [client] diff --git a/config-archive/etc/postfix/main.cf b/config-archive/etc/postfix/main.cf index 044fe07..e911f61 100644 --- a/config-archive/etc/postfix/main.cf +++ b/config-archive/etc/postfix/main.cf @@ -642,7 +642,7 @@ setgid_group = postdrop # html_directory: The location of the Postfix HTML documentation. # -html_directory = /usr/share/doc/postfix-2.9.3/html +html_directory = /usr/share/doc/postfix-2.9.4/html # manpage_directory: The location of the Postfix on-line manual pages. # @@ -655,7 +655,7 @@ sample_directory = /etc/postfix # readme_directory: The location of the Postfix README files. # -readme_directory = /usr/share/doc/postfix-2.9.3/readme +readme_directory = /usr/share/doc/postfix-2.9.4/readme home_mailbox = .maildir/ #alias_maps = mysql:/etc/postfix/mysql-aliases.cf alias_maps = hash:/etc/postfix/maps/aliases diff --git a/config-archive/etc/postfix/main.cf.1 b/config-archive/etc/postfix/main.cf.1 index 6bac0c9..044fe07 100644 --- a/config-archive/etc/postfix/main.cf.1 +++ b/config-archive/etc/postfix/main.cf.1 @@ -41,7 +41,7 @@ command_directory = /usr/sbin # daemon programs (i.e. programs listed in the master.cf file). This # directory must be owned by root. # -daemon_directory = /usr/lib64/postfix +daemon_directory = /usr/libexec/postfix # The data_directory parameter specifies the location of Postfix-writable # data files (caches, random numbers). This directory must be owned @@ -460,7 +460,12 @@ unknown_local_recipient_reject_code = 550 # the main.cf file, otherwise the SMTP server will reject mail for # non-UNIX accounts with "User unknown in local recipient table". # -#mailbox_transport = lmtp:unix:/file/name +# Cyrus IMAP over LMTP. Specify ``lmtpunix cmd="lmtpd" +# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf. +#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp +# +# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and +# subsequent line in master.cf. #mailbox_transport = cyrus # The fallback_transport specifies the optional transport in master.cf @@ -637,7 +642,7 @@ setgid_group = postdrop # html_directory: The location of the Postfix HTML documentation. # -html_directory = /usr/share/doc/postfix-2.8.9/html +html_directory = /usr/share/doc/postfix-2.9.3/html # manpage_directory: The location of the Postfix on-line manual pages. # @@ -650,7 +655,7 @@ sample_directory = /etc/postfix # readme_directory: The location of the Postfix README files. # -readme_directory = /usr/share/doc/postfix-2.8.9/readme +readme_directory = /usr/share/doc/postfix-2.9.3/readme home_mailbox = .maildir/ #alias_maps = mysql:/etc/postfix/mysql-aliases.cf alias_maps = hash:/etc/postfix/maps/aliases diff --git a/config-archive/etc/postfix/main.cf.2 b/config-archive/etc/postfix/main.cf.2 index 01dffb3..6bac0c9 100644 --- a/config-archive/etc/postfix/main.cf.2 +++ b/config-archive/etc/postfix/main.cf.2 @@ -41,7 +41,7 @@ command_directory = /usr/sbin # daemon programs (i.e. programs listed in the master.cf file). This # directory must be owned by root. # -daemon_directory = //usr/lib64/postfix +daemon_directory = /usr/lib64/postfix # The data_directory parameter specifies the location of Postfix-writable # data files (caches, random numbers). This directory must be owned diff --git a/config-archive/etc/postfix/main.cf.3 b/config-archive/etc/postfix/main.cf.3 new file mode 100644 index 0000000..01dffb3 --- /dev/null +++ b/config-archive/etc/postfix/main.cf.3 @@ -0,0 +1,736 @@ +# vim: noai: filetype=pfmain ts=4 sw=4 + +# Global Postfix configuration file. This file lists only a subset +# of all parameters. For the syntax, and for a complete parameter +# list, see the postconf(5) manual page (command: "man 5 postconf"). +# +# For common configuration examples, see BASIC_CONFIGURATION_README +# and STANDARD_CONFIGURATION_README. To find these documents, use +# the command "postconf html_directory readme_directory", or go to +# http://www.postfix.org/. +# +# For best results, change no more than 2-3 parameters at a time, +# and test if Postfix still works after every change. + +# SOFT BOUNCE +# +# The soft_bounce parameter provides a limited safety net for +# testing. When soft_bounce is enabled, mail will remain queued that +# would otherwise bounce. This parameter disables locally-generated +# bounces, and prevents the SMTP server from rejecting mail permanently +# (by changing 5xx replies into 4xx replies). However, soft_bounce +# is no cure for address rewriting mistakes or mail routing mistakes. +# +#soft_bounce = no + +# LOCAL PATHNAME INFORMATION +# +# The queue_directory specifies the location of the Postfix queue. +# This is also the root directory of Postfix daemons that run chrooted. +# See the files in examples/chroot-setup for setting up Postfix chroot +# environments on different UNIX systems. +# +queue_directory = /var/spool/postfix + +# The command_directory parameter specifies the location of all +# postXXX commands. +# +command_directory = /usr/sbin + +# The daemon_directory parameter specifies the location of all Postfix +# daemon programs (i.e. programs listed in the master.cf file). This +# directory must be owned by root. +# +daemon_directory = //usr/lib64/postfix + +# The data_directory parameter specifies the location of Postfix-writable +# data files (caches, random numbers). This directory must be owned +# by the mail_owner account (see below). +# +data_directory = /var/lib/postfix + +# QUEUE AND PROCESS OWNERSHIP +# +# The mail_owner parameter specifies the owner of the Postfix queue +# and of most Postfix daemon processes. Specify the name of a user +# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS +# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In +# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED +# USER. +# +mail_owner = postfix + +# The default_privs parameter specifies the default rights used by +# the local delivery agent for delivery to external file or command. +# These rights are used in the absence of a recipient user context. +# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. +# +#default_privs = nobody + +# INTERNET HOST AND DOMAIN NAMES +# +# The myhostname parameter specifies the internet hostname of this +# mail system. The default is to use the fully-qualified domain name +# from gethostname(). $myhostname is used as a default value for many +# other configuration parameters. +# +#myhostname = host.domain.tld +#myhostname = virtual.domain.tld + +# The mydomain parameter specifies the local internet domain name. +# The default is to use $myhostname minus the first component. +# $mydomain is used as a default value for many other configuration +# parameters. +# +#mydomain = domain.tld + +# SENDING MAIL +# +# The myorigin parameter specifies the domain that locally-posted +# mail appears to come from. The default is to append $myhostname, +# which is fine for small sites. If you run a domain with multiple +# machines, you should (1) change this to $mydomain and (2) set up +# a domain-wide alias database that aliases each user to +# user@that.users.mailhost. +# +# For the sake of consistency between sender and recipient addresses, +# myorigin also specifies the default domain name that is appended +# to recipient addresses that have no @domain part. +# +#myorigin = $myhostname +#myorigin = $mydomain + +# RECEIVING MAIL + +# The inet_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on. By default, +# the software claims all active interfaces on the machine. The +# parameter also controls delivery of mail to user@[ip.address]. +# +# See also the proxy_interfaces parameter, for network addresses that +# are forwarded to us via a proxy or network address translator. +# +# Note: you need to stop/start Postfix when this parameter changes. +# +#inet_interfaces = all +#inet_interfaces = $myhostname +#inet_interfaces = $myhostname, localhost + +# The proxy_interfaces parameter specifies the network interface +# addresses that this mail system receives mail on by way of a +# proxy or network address translation unit. This setting extends +# the address list specified with the inet_interfaces parameter. +# +# You must specify your proxy/NAT addresses when your system is a +# backup MX host for other domains, otherwise mail delivery loops +# will happen when the primary MX host is down. +# +#proxy_interfaces = +#proxy_interfaces = 1.2.3.4 + +# The mydestination parameter specifies the list of domains that this +# machine considers itself the final destination for. +# +# These domains are routed to the delivery agent specified with the +# local_transport parameter setting. By default, that is the UNIX +# compatible delivery agent that lookups all recipients in /etc/passwd +# and /etc/aliases or their equivalent. +# +# The default is $myhostname + localhost.$mydomain. On a mail domain +# gateway, you should also include $mydomain. +# +# Do not specify the names of virtual domains - those domains are +# specified elsewhere (see VIRTUAL_README). +# +# Do not specify the names of domains that this machine is backup MX +# host for. Specify those names via the relay_domains settings for +# the SMTP server, or use permit_mx_backup if you are lazy (see +# STANDARD_CONFIGURATION_README). +# +# The local machine is always the final destination for mail addressed +# to user@[the.net.work.address] of an interface that the mail system +# receives mail on (see the inet_interfaces parameter). +# +# Specify a list of host or domain names, /file/name or type:table +# patterns, separated by commas and/or whitespace. A /file/name +# pattern is replaced by its contents; a type:table is matched when +# a name matches a lookup key (the right-hand side is ignored). +# Continue long lines by starting the next line with whitespace. +# +# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS". +# +#mydestination = $myhostname, localhost.$mydomain, localhost +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain +#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, +# mail.$mydomain, www.$mydomain, ftp.$mydomain + +# REJECTING MAIL FOR UNKNOWN LOCAL USERS +# +# The local_recipient_maps parameter specifies optional lookup tables +# with all names or addresses of users that are local with respect +# to $mydestination, $inet_interfaces or $proxy_interfaces. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown local users. This parameter is defined by default. +# +# To turn off local recipient checking in the SMTP server, specify +# local_recipient_maps = (i.e. empty). +# +# The default setting assumes that you use the default Postfix local +# delivery agent for local delivery. You need to update the +# local_recipient_maps setting if: +# +# - You define $mydestination domain recipients in files other than +# /etc/passwd, /etc/aliases, or the $virtual_alias_maps files. +# For example, you define $mydestination domain recipients in +# the $virtual_mailbox_maps files. +# +# - You redefine the local delivery agent in master.cf. +# +# - You redefine the "local_transport" setting in main.cf. +# +# - You use the "luser_relay", "mailbox_transport", or "fallback_transport" +# feature of the Postfix local delivery agent (see local(8)). +# +# Details are described in the LOCAL_RECIPIENT_README file. +# +# Beware: if the Postfix SMTP server runs chrooted, you probably have +# to access the passwd file via the proxymap service, in order to +# overcome chroot restrictions. The alternative, having a copy of +# the system passwd file in the chroot jail is just not practical. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify a bare username, an @domain.tld +# wild-card, or specify a user@domain.tld address. +# +#local_recipient_maps = unix:passwd.byname $alias_maps +#local_recipient_maps = proxy:unix:passwd.byname $alias_maps +#local_recipient_maps = + +# The unknown_local_recipient_reject_code specifies the SMTP server +# response code when a recipient domain matches $mydestination or +# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty +# and the recipient address or address local-part is not found. +# +# The default setting is 550 (reject mail) but it is safer to start +# with 450 (try again later) until you are certain that your +# local_recipient_maps settings are OK. +# +unknown_local_recipient_reject_code = 550 + +# TRUST AND RELAY CONTROL + +# The mynetworks parameter specifies the list of "trusted" SMTP +# clients that have more privileges than "strangers". +# +# In particular, "trusted" SMTP clients are allowed to relay mail +# through Postfix. See the smtpd_recipient_restrictions parameter +# in postconf(5). +# +# You can specify the list of "trusted" network addresses by hand +# or you can let Postfix do it for you (which is the default). +# +# By default (mynetworks_style = subnet), Postfix "trusts" SMTP +# clients in the same IP subnetworks as the local machine. +# On Linux, this does works correctly only with interfaces specified +# with the "ifconfig" command. +# +# Specify "mynetworks_style = class" when Postfix should "trust" SMTP +# clients in the same IP class A/B/C networks as the local machine. +# Don't do this with a dialup site - it would cause Postfix to "trust" +# your entire provider's network. Instead, specify an explicit +# mynetworks list by hand, as described below. +# +# Specify "mynetworks_style = host" when Postfix should "trust" +# only the local machine. +# +#mynetworks_style = class +#mynetworks_style = subnet +#mynetworks_style = host + +# Alternatively, you can specify the mynetworks list by hand, in +# which case Postfix ignores the mynetworks_style setting. +# +# Specify an explicit list of network/netmask patterns, where the +# mask specifies the number of bits in the network part of a host +# address. +# +# You can also specify the absolute pathname of a pattern file instead +# of listing the patterns here. Specify type:table for table-based lookups +# (the value on the table right-hand side is not used). +# +#mynetworks = 168.100.189.0/28, 127.0.0.0/8 +#mynetworks = $config_directory/mynetworks +#mynetworks = hash:/etc/postfix/network_table + +# The relay_domains parameter restricts what destinations this system will +# relay mail to. See the smtpd_recipient_restrictions description in +# postconf(5) for detailed information. +# +# By default, Postfix relays mail +# - from "trusted" clients (IP address matches $mynetworks) to any destination, +# - from "untrusted" clients to destinations that match $relay_domains or +# subdomains thereof, except addresses with sender-specified routing. +# The default relay_domains value is $mydestination. +# +# In addition to the above, the Postfix SMTP server by default accepts mail +# that Postfix is final destination for: +# - destinations that match $inet_interfaces or $proxy_interfaces, +# - destinations that match $mydestination +# - destinations that match $virtual_alias_domains, +# - destinations that match $virtual_mailbox_domains. +# These destinations do not need to be listed in $relay_domains. +# +# Specify a list of hosts or domains, /file/name patterns or type:name +# lookup tables, separated by commas and/or whitespace. Continue +# long lines by starting the next line with whitespace. A file name +# is replaced by its contents; a type:name table is matched when a +# (parent) domain appears as lookup key. +# +# NOTE: Postfix will not automatically forward mail for domains that +# list this system as their primary or backup MX host. See the +# permit_mx_backup restriction description in postconf(5). +# +#relay_domains = $mydestination + +# INTERNET OR INTRANET + +# The relayhost parameter specifies the default host to send mail to +# when no entry is matched in the optional transport(5) table. When +# no relayhost is given, mail is routed directly to the destination. +# +# On an intranet, specify the organizational domain name. If your +# internal DNS uses no MX records, specify the name of the intranet +# gateway host instead. +# +# In the case of SMTP, specify a domain, host, host:port, [host]:port, +# [address] or [address]:port; the form [host] turns off MX lookups. +# +# If you're connected via UUCP, see also the default_transport parameter. +# +#relayhost = $mydomain +#relayhost = [gateway.my.domain] +#relayhost = [mailserver.isp.tld] +#relayhost = uucphost +#relayhost = [an.ip.add.ress] + +# REJECTING UNKNOWN RELAY USERS +# +# The relay_recipient_maps parameter specifies optional lookup tables +# with all addresses in the domains that match $relay_domains. +# +# If this parameter is defined, then the SMTP server will reject +# mail for unknown relay users. This feature is off by default. +# +# The right-hand side of the lookup tables is conveniently ignored. +# In the left-hand side, specify an @domain.tld wild-card, or specify +# a user@domain.tld address. +# +#relay_recipient_maps = hash:/etc/postfix/relay_recipients + +# INPUT RATE CONTROL +# +# The in_flow_delay configuration parameter implements mail input +# flow control. This feature is turned on by default, although it +# still needs further development (it's disabled on SCO UNIX due +# to an SCO bug). +# +# A Postfix process will pause for $in_flow_delay seconds before +# accepting a new message, when the message arrival rate exceeds the +# message delivery rate. With the default 100 SMTP server process +# limit, this limits the mail inflow to 100 messages a second more +# than the number of messages delivered per second. +# +# Specify 0 to disable the feature. Valid delays are 0..10. +# +#in_flow_delay = 1s + +# ADDRESS REWRITING +# +# The ADDRESS_REWRITING_README document gives information about +# address masquerading or other forms of address rewriting including +# username->Firstname.Lastname mapping. + +# ADDRESS REDIRECTION (VIRTUAL DOMAIN) +# +# The VIRTUAL_README document gives information about the many forms +# of domain hosting that Postfix supports. + +# "USER HAS MOVED" BOUNCE MESSAGES +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# TRANSPORT MAP +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# ALIAS DATABASE +# +# The alias_maps parameter specifies the list of alias databases used +# by the local delivery agent. The default list is system dependent. +# +# On systems with NIS, the default is to search the local alias +# database, then the NIS alias database. See aliases(5) for syntax +# details. +# +# If you change the alias database, run "postalias /etc/aliases" (or +# wherever your system stores the mail alias file), or simply run +# "newaliases" to build the necessary DBM or DB file. +# +# It will take a minute or so before changes become visible. Use +# "postfix reload" to eliminate the delay. +# +#alias_maps = dbm:/etc/aliases +#alias_maps = hash:/etc/aliases +#alias_maps = hash:/etc/aliases, nis:mail.aliases +#alias_maps = netinfo:/aliases + +# The alias_database parameter specifies the alias database(s) that +# are built with "newaliases" or "sendmail -bi". This is a separate +# configuration parameter, because alias_maps (see above) may specify +# tables that are not necessarily all under control by Postfix. +# +#alias_database = dbm:/etc/aliases +#alias_database = dbm:/etc/mail/aliases +#alias_database = hash:/etc/aliases +#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases + +# ADDRESS EXTENSIONS (e.g., user+foo) +# +# The recipient_delimiter parameter specifies the separator between +# user names and address extensions (user+foo). See canonical(5), +# local(8), relocated(5) and virtual(5) for the effects this has on +# aliases, canonical, virtual, relocated and .forward file lookups. +# Basically, the software tries user+foo and .forward+foo before +# trying user and .forward. +# +#recipient_delimiter = + + +# DELIVERY TO MAILBOX +# +# The home_mailbox parameter specifies the optional pathname of a +# mailbox file relative to a user's home directory. The default +# mailbox file is /var/spool/mail/user or /var/mail/user. Specify +# "Maildir/" for qmail-style delivery (the / is required). +# +#home_mailbox = Mailbox +#home_mailbox = Maildir/ + +# The mail_spool_directory parameter specifies the directory where +# UNIX-style mailboxes are kept. The default setting depends on the +# system type. +# +#mail_spool_directory = /var/mail +#mail_spool_directory = /var/spool/mail + +# The mailbox_command parameter specifies the optional external +# command to use instead of mailbox delivery. The command is run as +# the recipient with proper HOME, SHELL and LOGNAME environment settings. +# Exception: delivery for root is done as $default_user. +# +# Other environment variables of interest: USER (recipient username), +# EXTENSION (address extension), DOMAIN (domain part of address), +# and LOCAL (the address localpart). +# +# Unlike other Postfix configuration parameters, the mailbox_command +# parameter is not subjected to $parameter substitutions. This is to +# make it easier to specify shell syntax (see example below). +# +# Avoid shell meta characters because they will force Postfix to run +# an expensive shell process. Procmail alone is expensive enough. +# +# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN +# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. +# +#mailbox_command = /some/where/procmail +#mailbox_command = /some/where/procmail -a "$EXTENSION" + +# The mailbox_transport specifies the optional transport in master.cf +# to use after processing aliases and .forward files. This parameter +# has precedence over the mailbox_command, fallback_transport and +# luser_relay parameters. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#mailbox_transport = lmtp:unix:/file/name +#mailbox_transport = cyrus + +# The fallback_transport specifies the optional transport in master.cf +# to use for recipients that are not found in the UNIX passwd database. +# This parameter has precedence over the luser_relay parameter. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#fallback_transport = lmtp:unix:/file/name +#fallback_transport = cyrus +#fallback_transport = + +# The luser_relay parameter specifies an optional destination address +# for unknown recipients. By default, mail for unknown@$mydestination, +# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned +# as undeliverable. +# +# The following expansions are done on luser_relay: $user (recipient +# username), $shell (recipient shell), $home (recipient home directory), +# $recipient (full recipient address), $extension (recipient address +# extension), $domain (recipient domain), $local (entire recipient +# localpart), $recipient_delimiter. Specify ${name?value} or +# ${name:value} to expand value only when $name does (does not) exist. +# +# luser_relay works only for the default Postfix local delivery agent. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must specify "local_recipient_maps =" (i.e. empty) in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#luser_relay = $user@other.host +#luser_relay = $local@other.host +#luser_relay = admin+$local + +# JUNK MAIL CONTROLS +# +# The controls listed here are only a very small subset. The file +# SMTPD_ACCESS_README provides an overview. + +# The header_checks parameter specifies an optional table with patterns +# that each logical message header is matched against, including +# headers that span multiple physical lines. +# +# By default, these patterns also apply to MIME headers and to the +# headers of attached messages. With older Postfix versions, MIME and +# attached message headers were treated as body text. +# +# For details, see "man header_checks". +# +#header_checks = regexp:/etc/postfix/header_checks + +# FAST ETRN SERVICE +# +# Postfix maintains per-destination logfiles with information about +# deferred mail, so that mail can be flushed quickly with the SMTP +# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld". +# See the ETRN_README document for a detailed description. +# +# The fast_flush_domains parameter controls what destinations are +# eligible for this service. By default, they are all domains that +# this server is willing to relay mail to. +# +#fast_flush_domains = $relay_domains + +# SHOW SOFTWARE VERSION OR NOT +# +# The smtpd_banner parameter specifies the text that follows the 220 +# code in the SMTP server's greeting banner. Some people like to see +# the mail version advertised. By default, Postfix shows no version. +# +# You MUST specify $myhostname at the start of the text. That is an +# RFC requirement. Postfix itself does not care. +# +#smtpd_banner = $myhostname ESMTP $mail_name +#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) + +# PARALLEL DELIVERY TO THE SAME DESTINATION +# +# How many parallel deliveries to the same user or domain? With local +# delivery, it does not make sense to do massively parallel delivery +# to the same user, because mailbox updates must happen sequentially, +# and expensive pipelines in .forward files can cause disasters when +# too many are run at the same time. With SMTP deliveries, 10 +# simultaneous connections to the same domain could be sufficient to +# raise eyebrows. +# +# Each message delivery transport has its XXX_destination_concurrency_limit +# parameter. The default is $default_destination_concurrency_limit for +# most delivery transports. For the local delivery agent the default is 2. + +#local_destination_concurrency_limit = 2 +#default_destination_concurrency_limit = 20 + +# DEBUGGING CONTROL +# +# The debug_peer_level parameter specifies the increment in verbose +# logging level when an SMTP client or server host name or address +# matches a pattern in the debug_peer_list parameter. +# +debug_peer_level = 2 + +# The debug_peer_list parameter specifies an optional list of domain +# or network patterns, /file/name patterns or type:name tables. When +# an SMTP client or server host name or address matches a pattern, +# increase the verbose logging level by the amount specified in the +# debug_peer_level parameter. +# +#debug_peer_list = 127.0.0.1 +#debug_peer_list = some.domain + +# The debugger_command specifies the external command that is executed +# when a Postfix daemon program is run with the -D option. +# +# Use "command .. & sleep 5" so that the debugger can attach before +# the process marches on. If you use an X-based debugger, be sure to +# set up your XAUTHORITY environment variable before starting Postfix. +# +debugger_command = + PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin + ddd $daemon_directory/$process_name $process_id & sleep 5 + +# If you can't use X, use this to capture the call stack when a +# daemon crashes. The result is in a file in the configuration +# directory, and is named after the process name and the process ID. +# +# debugger_command = +# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; +# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 +# >$config_directory/$process_name.$process_id.log & sleep 5 +# +# Another possibility is to run gdb under a detached screen session. +# To attach to the screen sesssion, su root and run "screen -r +# " where uniquely matches one of the detached +# sessions (from "screen -list"). +# +# debugger_command = +# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen +# -dmS $process_name gdb $daemon_directory/$process_name +# $process_id & sleep 1 + +# INSTALL-TIME CONFIGURATION INFORMATION +# +# The following parameters are used when installing a new Postfix version. +# +# sendmail_path: The full pathname of the Postfix sendmail command. +# This is the Sendmail-compatible mail posting interface. +# +sendmail_path = /usr/sbin/sendmail + +# newaliases_path: The full pathname of the Postfix newaliases command. +# This is the Sendmail-compatible command to build alias databases. +# +newaliases_path = /usr/bin/newaliases + +# mailq_path: The full pathname of the Postfix mailq command. This +# is the Sendmail-compatible mail queue listing command. +# +mailq_path = /usr/bin/mailq + +# setgid_group: The group for mail submission and queue management +# commands. This must be a group name with a numerical group ID that +# is not shared with other accounts, not even with the Postfix account. +# +setgid_group = postdrop + +# html_directory: The location of the Postfix HTML documentation. +# +html_directory = /usr/share/doc/postfix-2.8.9/html + +# manpage_directory: The location of the Postfix on-line manual pages. +# +manpage_directory = /usr/share/man + +# sample_directory: The location of the Postfix sample configuration files. +# This parameter is obsolete as of Postfix 2.1. +# +sample_directory = /etc/postfix + +# readme_directory: The location of the Postfix README files. +# +readme_directory = /usr/share/doc/postfix-2.8.9/readme +home_mailbox = .maildir/ +#alias_maps = mysql:/etc/postfix/mysql-aliases.cf +alias_maps = hash:/etc/postfix/maps/aliases +anvil_status_update_time = 3600s +body_checks = pcre:/etc/postfix/maps/body_checks +bounce_template_file = /etc/postfix/bounce-templates/bounce.de-DE.cf +broken_sasl_auth_clients = yes +#canonical_maps = mysql:/etc/postfix/mysql-canonical.cf +canonical_maps = hash:/etc/postfix/maps/canonical +cyrus_sasl_config_path = /etc/sasl2 +default_destination_concurrency_limit = 5 +header_checks = pcre:/etc/postfix/maps/header_checks +inet_protocols = all +local_recipient_maps = $alias_maps $virtual_mailbox_maps unix:passwd.byname +mail_spool_directory = /var/spool/mail +mailbox_size_limit = 512000000 +message_size_limit = 51200000 +#mydestination = $myhostname, $mydomain, mysql:/etc/postfix/mysql-mydomains.cf +mydestination = $myhostname, $mydomain, hash:/etc/postfix/maps/mydomains +mydomain = brehm-online.com +myhostname = helga.brehm-online.com +mynetworks = 127.0.0.0/8 85.214.134.152/32 85.214.109.1/32 [::1]/128 [2a01:238:4225:6e00:8f8c:808a:7fb8:88df]/128 +mynetworks_style = host +myorigin = $mydomain +#recipient_bcc_maps = mysql:/etc/postfix/mysql-recipient_bcc.cf +recipient_bcc_maps = hash:/etc/postfix/maps/recipient_bcc +#relay_clientcerts = hash:/etc/postfix/relay_clientcerts +relay_clientcerts = hash:/etc/postfix/maps/relay_clientcerts +#relay_domains = mysql:/etc/postfix/mysql-relay-domains.cf +relay_domains = hash:/etc/postfix/maps/relay_domains +#relocated_maps = mysql:/etc/postfix/mysql-relocated.cf +relocated_maps = hash:/etc/postfix/maps/relocated +#sender_bcc_maps = mysql:/etc/postfix/mysql-sender_bcc.cf +sender_bcc_maps = hash:/etc/postfix/maps/sender_bcc +smtp_generic_maps = hash:/etc/postfix/maps/generic +smtp_tls_CAfile = /etc/ssl/CA-Brehm/cacert.pem +smtp_tls_cert_file = /etc/postfix/postfix.pem +smtp_tls_enforce_peername = no +smtp_use_tls = yes +smtpd_banner = $myhostname ESMTP Frank Brehms Mail Service $mail_name ($mail_version) + +smtpd_recipient_restrictions = + check_client_access cidr:/etc/postfix/maps/access_client, + check_recipient_access hash:/etc/postfix/maps/access_recipient, + check_helo_access hash:/etc/postfix/maps/access_helo, + check_sender_access hash:/etc/postfix/maps/access_sender, + reject_non_fqdn_recipient, + reject_unknown_recipient_domain, + reject_non_fqdn_sender, + reject_unknown_sender_domain, + reject_invalid_helo_hostname, + permit_mynetworks, + permit_sasl_authenticated, + permit_tls_clientcerts, + reject_rbl_client zen.spamhaus.org, + reject_rbl_client ix.dnsbl.manitu.net, + check_policy_service unix:private/postgrey, + check_policy_service inet:127.0.0.1:12525, + reject_unverified_recipient, + permit_mx_backup, + reject_unauth_destination, + permit + +smtpd_sasl_auth_enable = yes +smtpd_tls_CAfile = $smtp_tls_CAfile +smtpd_tls_cert_file = $smtp_tls_cert_file +smtpd_tls_key_file = $smtp_tls_cert_file +smtpd_tls_loglevel = 1 +smtpd_tls_received_header = yes +smtpd_use_tls = yes +transport_maps = hash:/etc/postfix/maps/transport +#virtual_alias_domains = mysql:/etc/postfix/mysql-virtual-alias-domains.cf +virtual_alias_domains = hash:/etc/postfix/maps/virtual_alias_domains +#virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf +virtual_alias_maps = hash:/etc/postfix/maps/virtual_alias_maps +virtual_gid_maps = static:1023 +virtual_mailbox_base = / +#virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf +virtual_mailbox_domains = hash:/etc/postfix/maps/virtual_mailbox_domains +virtual_mailbox_limit = 512000000 +#virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf +virtual_mailbox_maps = hash:/etc/postfix/maps/virtual_mailbox_maps +virtual_uid_maps = static:1023 diff --git a/config-archive/etc/postfix/main.cf.dist b/config-archive/etc/postfix/main.cf.dist index a7c3834..01dcbc7 100644 --- a/config-archive/etc/postfix/main.cf.dist +++ b/config-archive/etc/postfix/main.cf.dist @@ -640,7 +640,7 @@ setgid_group = postdrop # html_directory: The location of the Postfix HTML documentation. # -html_directory = /usr/share/doc/postfix-2.9.4/html +html_directory = /usr/share/doc/postfix-2.9.5/html # manpage_directory: The location of the Postfix on-line manual pages. # @@ -653,5 +653,5 @@ sample_directory = /etc/postfix # readme_directory: The location of the Postfix README files. # -readme_directory = /usr/share/doc/postfix-2.9.4/readme +readme_directory = /usr/share/doc/postfix-2.9.5/readme home_mailbox = .maildir/ diff --git a/config-archive/etc/sudoers b/config-archive/etc/sudoers new file mode 100644 index 0000000..71fe6ca --- /dev/null +++ b/config-archive/etc/sudoers @@ -0,0 +1,91 @@ +## sudoers file. +## +## This file MUST be edited with the 'visudo' command as root. +## Failure to use 'visudo' may result in syntax or file permission errors +## that prevent sudo from running. +## +## See the sudoers man page for the details on how to write a sudoers file. +## + +## +## Host alias specification +## +## Groups of machines. These may include host names (optionally with wildcards), +## IP addresses, network numbers or netgroups. +# Host_Alias WEBSERVERS = www1, www2, www3 + +## +## User alias specification +## +## Groups of users. These may consist of user names, uids, Unix groups, +## or netgroups. +# User_Alias ADMINS = millert, dowdy, mikef + +## +## Cmnd alias specification +## +## Groups of commands. Often used to group related commands together. +# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \ +# /usr/bin/pkill, /usr/bin/top + +## +## Defaults specification +## +## You may wish to keep some of the following environment variables +## when running commands via sudo. +## +## Locale settings +# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET" +## +## Run X applications through sudo; HOME is used to find the +## .Xauthority file. Note that other programs use HOME to find +## configuration files and this may lead to privilege escalation! +# Defaults env_keep += "HOME" +## +## X11 resource path settings +# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH" +## +## Desktop path settings +# Defaults env_keep += "QTDIR KDEDIR" +## +## Allow sudo-run commands to inherit the callers' ConsoleKit session +# Defaults env_keep += "XDG_SESSION_COOKIE" +## +## Uncomment to enable special input methods. Care should be taken as +## this may allow users to subvert the command being run via sudo. +# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" +## +## Uncomment to enable logging of a command's output, except for +## sudoreplay and reboot. Use sudoreplay to play back logged sessions. +# Defaults log_output +# Defaults!/usr/bin/sudoreplay !log_output +# Defaults!/usr/local/bin/sudoreplay !log_output +# Defaults!/sbin/reboot !log_output + +## +## Runas alias specification +## + +## +## User privilege specification +## +root ALL=(ALL) NOPASSWD: ALL + +## Uncomment to allow members of group wheel to execute any command +%wheel ALL=(ALL) ALL +%root ALL=(ALL) NOPASSWD: ALL + +## Same thing without a password +# %wheel ALL=(ALL) NOPASSWD: ALL + +## Uncomment to allow members of group sudo to execute any command +# %sudo ALL=(ALL) ALL + +## Uncomment to allow any user to run sudo if they know the password +## of the user they are running the command as (root by default). +# Defaults targetpw # Ask for the password of the target user +# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw' + +## Read drop-in files from /etc/sudoers.d +## (the '#' here does not indicate a comment) +#includedir /etc/sudoers.d diff --git a/courier/authlib/authdaemonrc b/courier/authlib/authdaemonrc index e36d896..cebb788 100644 --- a/courier/authlib/authdaemonrc +++ b/courier/authlib/authdaemonrc @@ -1,4 +1,4 @@ -##VERSION: $Id: authdaemonrc.in 17 2011-04-04 02:07:37Z mrsam $ +##VERSION: $Id: authdaemonrc.in 239 2012-10-06 23:51:19Z mrsam $ # # Copyright 2000-2005 Double Precision, Inc. See COPYING for # distribution information. @@ -17,21 +17,21 @@ # fit on one line. Do not use any additional whitespace for indentation, # or anything else. -##NAME: authmodulelist:2 +##NAME: authmodulelist:3 # # The authentication modules that are linked into authdaemond. The # default list is installed. You may selectively disable modules simply # by removing them from the following list. The available modules you -# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe +# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe authmodulelist="authmysql authpam" -##NAME: authmodulelistorig:3 +##NAME: authmodulelistorig:4 # # This setting is used by Courier's webadmin module, and should be left # alone -authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe" +authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe" ##NAME: daemons:0 # diff --git a/courier/authlib/authdaemonrc.dist b/courier/authlib/authdaemonrc.dist index e66f635..4645640 100644 --- a/courier/authlib/authdaemonrc.dist +++ b/courier/authlib/authdaemonrc.dist @@ -1,4 +1,4 @@ -##VERSION: $Id: authdaemonrc.in 17 2011-04-04 02:07:37Z mrsam $ +##VERSION: $Id: authdaemonrc.in 239 2012-10-06 23:51:19Z mrsam $ # # Copyright 2000-2005 Double Precision, Inc. See COPYING for # distribution information. @@ -17,21 +17,21 @@ # fit on one line. Do not use any additional whitespace for indentation, # or anything else. -##NAME: authmodulelist:2 +##NAME: authmodulelist:3 # # The authentication modules that are linked into authdaemond. The # default list is installed. You may selectively disable modules simply # by removing them from the following list. The available modules you -# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe +# can use are: authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe -authmodulelist="authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe" +authmodulelist="authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe" -##NAME: authmodulelistorig:3 +##NAME: authmodulelistorig:4 # # This setting is used by Courier's webadmin module, and should be left # alone -authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authcustom authpipe" +authmodulelistorig="authuserdb authpam authshadow authpgsql authldap authmysql authsqlite authcustom authpipe" ##NAME: daemons:0 # diff --git a/courier/authlib/authsqliterc b/courier/authlib/authsqliterc new file mode 100644 index 0000000..2826fff --- /dev/null +++ b/courier/authlib/authsqliterc @@ -0,0 +1,247 @@ +##VERSION: $Id: authsqliterc 17 2011-04-04 02:07:37Z mrsam $ +# +# Copyright 2012 Double Precision, Inc. See COPYING for +# distribution information. +# +# Do not alter lines that begin with ##, they are used when upgrading +# this configuration. +# +# authsqliterc created from authsqliterc.dist by sysconftool +# +# Each line in this file must follow the following format: +# +# field[spaces|tabs]value +# +# That is, the name of the field, followed by spaces or tabs, followed by +# field value. Trailing spaces are prohibited. + + +##NAME: LOCATION:0 +# +# The SQLite database. You must create this database beforehand, and create +# the users table, as defined below. + +SQLITE_DATABASE /var/users.db + +##NAME: SQLITE_USER_TABLE:0 +# +# Suggested format of the table specified by SQLITE_USER_TABLE: +# +# CREATE TABLE passwd ( +# id text not null primary key, +# crypt text, # Either... +# clear text, # ... or +# name text, +# uid int, +# gid int, +# home text not null, +# maildir text, +# defaultdelivery text, +# quota text, +# options text); +# +# Use either crypt or clear, to specify whether cleartext or crypted passwords +# get used (and define either SQLITE_CRYPT_PWFIELD or SQLITE_CLEAR_PWFIELD, +# below, accordingly). + +SQLITE_USER_TABLE passwd + +##NAME: SQLITE_CRYPT_PWFIELD:0 +# +# Either SQLITE_CRYPT_PWFIELD or SQLITE_CLEAR_PWFIELD must be defined. Both +# are OK too. crypted passwords go into SQLITE_CRYPT_PWFIELD, cleartext +# passwords go into SQLITE_CLEAR_PWFIELD. Cleartext passwords allow +# CRAM-MD5 authentication to be implemented. + +SQLITE_CRYPT_PWFIELD crypt + +##NAME: SQLITE_CLEAR_PWFIELD:0 +# +# +# SQLITE_CLEAR_PWFIELD clear + +##NAME: SQLITE_DEFAULT_DOMAIN:0 +# +# If DEFAULT_DOMAIN is defined, and someone tries to log in as 'user', +# we will search for 'user@DEFAULT_DOMAIN' instead. +# +# +# DEFAULT_DOMAIN example.com + +##NAME: SQLITE_UID_FIELD:0 +# +# Other fields in the sqlite table: +# +# SQLITE_UID_FIELD - contains the numerical userid of the account +# +SQLITE_UID_FIELD uid + +##NAME: SQLITE_GID_FIELD:0 +# +# Numerical groupid of the account + +SQLITE_GID_FIELD gid + +##NAME: SQLITE_LOGIN_FIELD:0 +# +# The login id, default is id. Basically the query is: +# +# SELECT SQLITE_UID_FIELD, SQLITE_GID_FIELD, ... WHERE id='loginid' +# + +SQLITE_LOGIN_FIELD id + +##NAME: SQLITE_HOME_FIELD:0 +# + +SQLITE_HOME_FIELD home + +##NAME: SQLITE_NAME_FIELD:0 +# +# The user's name (optional) + +SQLITE_NAME_FIELD name + +##NAME: SQLITE_MAILDIR_FIELD:0 +# +# This is an optional field, and can be used to specify an arbitrary +# location of the maildir for the account, which normally defaults to +# $HOME/Maildir (where $HOME is read from SQLITE_HOME_FIELD). +# +# You still need to provide a SQLITE_HOME_FIELD, even if you uncomment this +# out. +# +# SQLITE_MAILDIR_FIELD maildir + +##NAME: SQLITE_DEFAULTDELIVERY:0 +# +# Courier mail server only: optional field specifies custom mail delivery +# instructions for this account (if defined) -- essentially overrides +# DEFAULTDELIVERY from ${sysconfdir}/courierd +# +# SQLITE_DEFAULTDELIVERY defaultdelivery + +##NAME: SQLITE_QUOTA_FIELD:0 +# +# Define SQLITE_QUOTA_FIELD to be the name of the field that can optionally +# specify a maildir quota. See README.maildirquota for more information +# +# SQLITE_QUOTA_FIELD quota + +##NAME: SQLITE_AUXOPTIONS:0 +# +# Auxiliary options. The SQLITE_AUXOPTIONS field should be a char field that +# contains a single string consisting of comma-separated "ATTRIBUTE=NAME" +# pairs. These names are additional attributes that define various per-account +# "options", as given in INSTALL's description of the "Account OPTIONS" +# setting. +# +# SQLITE_AUXOPTIONS_FIELD options +# +# You might want to try something like this, if you'd like to use a bunch +# of individual fields, instead of a single text blob: +# +# SQLITE_AUXOPTIONS_FIELD "disableimap=" || disableimap || ",disablepop3=" || disablepop3 || ",disablewebmail=" || disablewebmail || ",sharedgroup=" || sharedgroup +# +# This will let you define fields called "disableimap", etc, with the end result +# being something that the OPTIONS parser understands. + + +##NAME: SQLITE_WHERE_CLAUSE:0 +# +# This is optional, SQLITE_WHERE_CLAUSE can be basically set to an arbitrary +# fixed string that is appended to the WHERE clause of our query +# +# SQLITE_WHERE_CLAUSE server='mailhost.example.com' + +##NAME: SQLITE_SELECT_CLAUSE:0 +# +# This is optional, SQLITE_SELECT_CLAUSE can be set when you have a database, +# which is structuraly different from the proposed layout. The fixed string will +# be used to do a SELECT operation on database, which should return fields +# in order specified bellow: +# +# username, cryptpw, clearpw, uid, gid, home, maildir, quota, fullname, options +# +# The username field should include the domain (see example below). +# +# Enabling this option causes ignorance of any other field-related +# options, excluding default domain. +# +# There are two variables, which you can use. Substitution will be made +# for them, so you can put entered username (local part) and domain name +# in the right place of your query. These variables are: +# $(local_part), $(domain), $(service) +# +# If a $(domain) is empty (not given by the remote user) the default domain +# name is used in its place. +# +# $(service) will expand out to the service being authenticated: imap, imaps, +# pop3 or pop3s. Courier mail server only: service will also expand out to +# "courier", when searching for local mail account's location. In this case, +# if the "maildir" field is not empty it will be used in place of +# DEFAULTDELIVERY. Courier mail server will also use esmtp when doing +# authenticated ESMTP. +# +# For example: +# +# SQLITE_SELECT_CLAUSE SELECT popbox.local_part || '@' || popbox.domain_name,\ +# '{MD5}' || popbox.password_hash), \ +# popbox.clearpw, \ +# domain.uid, \ +# domain.gid, \ +# domain.path || '/' || popbox.mbox_name, \ +# '', \ +# domain.quota, \ +# '', \ +# "disableimap=" || disableimap || ",disablepop3=" || \ +# disablepop3 || ",disablewebmail=" || disablewebmail || \ +# ",sharedgroup=" || sharedgroup \ +# FROM popbox, domain \ +# WHERE popbox.local_part = '$(local_part)' \ +# AND popbox.domain_name = '$(domain)' \ +# AND popbox.domain_name = domain.domain_name + + +##NAME: SQLITE_ENUMERATE_CLAUSE:1 +# +# Optional custom SQL query used to enumerate accounts for authenumerate, +# in order to compile a list of accounts for shared folders. The query +# should return the following fields: name, uid, gid, homedir, maildir, options +# +# Example: +# SQLITE_ENUMERATE_CLAUSE SELECT popbox.local_part || '@' || popbox.domain_name, \ +# domain.uid, \ +# domain.gid, \ +# domain.path || '/' || popbox.mbox_name, \ +# '', \ +# 'sharedgroup=' || sharedgroup \ +# FROM popbox, domain \ +# WHERE popbox.local_part = '$(local_part)' \ +# AND popbox.domain_name = '$(domain)' \ +# AND popbox.domain_name = domain.domain_name + + +##NAME: SQLITE_CHPASS_CLAUSE:0 +# +# This is optional, SQLITE_CHPASS_CLAUSE can be set when you have a database, +# which is structuraly different from proposed. The fixed string will +# be used to do an UPDATE operation on database. In other words, it is +# used, when changing passwords. This is used by sqwebmail/Courier webmail. +# +# There are four variables, which you can use. Substitution will be made +# for them, so you can put entered username (local part) and domain name +# in the right place of your query. There variables are: +# $(local_part) , $(domain) , $(newpass) , $(newpass_crypt) +# +# If a $(domain) is empty (not given by the remote user) the default domain +# name is used in its place. +# $(newpass) contains plain password +# $(newpass_crypt) contains its crypted form +# +# SQLITE_CHPASS_CLAUSE UPDATE popbox \ +# SET clearpw='$(newpass)', \ +# password_hash='$(newpass_crypt)' \ +# WHERE local_part='$(local_part)' \ +# AND domain_name='$(domain)' +# diff --git a/courier/authlib/authsqliterc.dist b/courier/authlib/authsqliterc.dist new file mode 100644 index 0000000..2826fff --- /dev/null +++ b/courier/authlib/authsqliterc.dist @@ -0,0 +1,247 @@ +##VERSION: $Id: authsqliterc 17 2011-04-04 02:07:37Z mrsam $ +# +# Copyright 2012 Double Precision, Inc. See COPYING for +# distribution information. +# +# Do not alter lines that begin with ##, they are used when upgrading +# this configuration. +# +# authsqliterc created from authsqliterc.dist by sysconftool +# +# Each line in this file must follow the following format: +# +# field[spaces|tabs]value +# +# That is, the name of the field, followed by spaces or tabs, followed by +# field value. Trailing spaces are prohibited. + + +##NAME: LOCATION:0 +# +# The SQLite database. You must create this database beforehand, and create +# the users table, as defined below. + +SQLITE_DATABASE /var/users.db + +##NAME: SQLITE_USER_TABLE:0 +# +# Suggested format of the table specified by SQLITE_USER_TABLE: +# +# CREATE TABLE passwd ( +# id text not null primary key, +# crypt text, # Either... +# clear text, # ... or +# name text, +# uid int, +# gid int, +# home text not null, +# maildir text, +# defaultdelivery text, +# quota text, +# options text); +# +# Use either crypt or clear, to specify whether cleartext or crypted passwords +# get used (and define either SQLITE_CRYPT_PWFIELD or SQLITE_CLEAR_PWFIELD, +# below, accordingly). + +SQLITE_USER_TABLE passwd + +##NAME: SQLITE_CRYPT_PWFIELD:0 +# +# Either SQLITE_CRYPT_PWFIELD or SQLITE_CLEAR_PWFIELD must be defined. Both +# are OK too. crypted passwords go into SQLITE_CRYPT_PWFIELD, cleartext +# passwords go into SQLITE_CLEAR_PWFIELD. Cleartext passwords allow +# CRAM-MD5 authentication to be implemented. + +SQLITE_CRYPT_PWFIELD crypt + +##NAME: SQLITE_CLEAR_PWFIELD:0 +# +# +# SQLITE_CLEAR_PWFIELD clear + +##NAME: SQLITE_DEFAULT_DOMAIN:0 +# +# If DEFAULT_DOMAIN is defined, and someone tries to log in as 'user', +# we will search for 'user@DEFAULT_DOMAIN' instead. +# +# +# DEFAULT_DOMAIN example.com + +##NAME: SQLITE_UID_FIELD:0 +# +# Other fields in the sqlite table: +# +# SQLITE_UID_FIELD - contains the numerical userid of the account +# +SQLITE_UID_FIELD uid + +##NAME: SQLITE_GID_FIELD:0 +# +# Numerical groupid of the account + +SQLITE_GID_FIELD gid + +##NAME: SQLITE_LOGIN_FIELD:0 +# +# The login id, default is id. Basically the query is: +# +# SELECT SQLITE_UID_FIELD, SQLITE_GID_FIELD, ... WHERE id='loginid' +# + +SQLITE_LOGIN_FIELD id + +##NAME: SQLITE_HOME_FIELD:0 +# + +SQLITE_HOME_FIELD home + +##NAME: SQLITE_NAME_FIELD:0 +# +# The user's name (optional) + +SQLITE_NAME_FIELD name + +##NAME: SQLITE_MAILDIR_FIELD:0 +# +# This is an optional field, and can be used to specify an arbitrary +# location of the maildir for the account, which normally defaults to +# $HOME/Maildir (where $HOME is read from SQLITE_HOME_FIELD). +# +# You still need to provide a SQLITE_HOME_FIELD, even if you uncomment this +# out. +# +# SQLITE_MAILDIR_FIELD maildir + +##NAME: SQLITE_DEFAULTDELIVERY:0 +# +# Courier mail server only: optional field specifies custom mail delivery +# instructions for this account (if defined) -- essentially overrides +# DEFAULTDELIVERY from ${sysconfdir}/courierd +# +# SQLITE_DEFAULTDELIVERY defaultdelivery + +##NAME: SQLITE_QUOTA_FIELD:0 +# +# Define SQLITE_QUOTA_FIELD to be the name of the field that can optionally +# specify a maildir quota. See README.maildirquota for more information +# +# SQLITE_QUOTA_FIELD quota + +##NAME: SQLITE_AUXOPTIONS:0 +# +# Auxiliary options. The SQLITE_AUXOPTIONS field should be a char field that +# contains a single string consisting of comma-separated "ATTRIBUTE=NAME" +# pairs. These names are additional attributes that define various per-account +# "options", as given in INSTALL's description of the "Account OPTIONS" +# setting. +# +# SQLITE_AUXOPTIONS_FIELD options +# +# You might want to try something like this, if you'd like to use a bunch +# of individual fields, instead of a single text blob: +# +# SQLITE_AUXOPTIONS_FIELD "disableimap=" || disableimap || ",disablepop3=" || disablepop3 || ",disablewebmail=" || disablewebmail || ",sharedgroup=" || sharedgroup +# +# This will let you define fields called "disableimap", etc, with the end result +# being something that the OPTIONS parser understands. + + +##NAME: SQLITE_WHERE_CLAUSE:0 +# +# This is optional, SQLITE_WHERE_CLAUSE can be basically set to an arbitrary +# fixed string that is appended to the WHERE clause of our query +# +# SQLITE_WHERE_CLAUSE server='mailhost.example.com' + +##NAME: SQLITE_SELECT_CLAUSE:0 +# +# This is optional, SQLITE_SELECT_CLAUSE can be set when you have a database, +# which is structuraly different from the proposed layout. The fixed string will +# be used to do a SELECT operation on database, which should return fields +# in order specified bellow: +# +# username, cryptpw, clearpw, uid, gid, home, maildir, quota, fullname, options +# +# The username field should include the domain (see example below). +# +# Enabling this option causes ignorance of any other field-related +# options, excluding default domain. +# +# There are two variables, which you can use. Substitution will be made +# for them, so you can put entered username (local part) and domain name +# in the right place of your query. These variables are: +# $(local_part), $(domain), $(service) +# +# If a $(domain) is empty (not given by the remote user) the default domain +# name is used in its place. +# +# $(service) will expand out to the service being authenticated: imap, imaps, +# pop3 or pop3s. Courier mail server only: service will also expand out to +# "courier", when searching for local mail account's location. In this case, +# if the "maildir" field is not empty it will be used in place of +# DEFAULTDELIVERY. Courier mail server will also use esmtp when doing +# authenticated ESMTP. +# +# For example: +# +# SQLITE_SELECT_CLAUSE SELECT popbox.local_part || '@' || popbox.domain_name,\ +# '{MD5}' || popbox.password_hash), \ +# popbox.clearpw, \ +# domain.uid, \ +# domain.gid, \ +# domain.path || '/' || popbox.mbox_name, \ +# '', \ +# domain.quota, \ +# '', \ +# "disableimap=" || disableimap || ",disablepop3=" || \ +# disablepop3 || ",disablewebmail=" || disablewebmail || \ +# ",sharedgroup=" || sharedgroup \ +# FROM popbox, domain \ +# WHERE popbox.local_part = '$(local_part)' \ +# AND popbox.domain_name = '$(domain)' \ +# AND popbox.domain_name = domain.domain_name + + +##NAME: SQLITE_ENUMERATE_CLAUSE:1 +# +# Optional custom SQL query used to enumerate accounts for authenumerate, +# in order to compile a list of accounts for shared folders. The query +# should return the following fields: name, uid, gid, homedir, maildir, options +# +# Example: +# SQLITE_ENUMERATE_CLAUSE SELECT popbox.local_part || '@' || popbox.domain_name, \ +# domain.uid, \ +# domain.gid, \ +# domain.path || '/' || popbox.mbox_name, \ +# '', \ +# 'sharedgroup=' || sharedgroup \ +# FROM popbox, domain \ +# WHERE popbox.local_part = '$(local_part)' \ +# AND popbox.domain_name = '$(domain)' \ +# AND popbox.domain_name = domain.domain_name + + +##NAME: SQLITE_CHPASS_CLAUSE:0 +# +# This is optional, SQLITE_CHPASS_CLAUSE can be set when you have a database, +# which is structuraly different from proposed. The fixed string will +# be used to do an UPDATE operation on database. In other words, it is +# used, when changing passwords. This is used by sqwebmail/Courier webmail. +# +# There are four variables, which you can use. Substitution will be made +# for them, so you can put entered username (local part) and domain name +# in the right place of your query. There variables are: +# $(local_part) , $(domain) , $(newpass) , $(newpass_crypt) +# +# If a $(domain) is empty (not given by the remote user) the default domain +# name is used in its place. +# $(newpass) contains plain password +# $(newpass_crypt) contains its crypted form +# +# SQLITE_CHPASS_CLAUSE UPDATE popbox \ +# SET clearpw='$(newpass)', \ +# password_hash='$(newpass_crypt)' \ +# WHERE local_part='$(local_part)' \ +# AND domain_name='$(domain)' +# diff --git a/csh.env b/csh.env index 212fd2c..67ce897 100644 --- a/csh.env +++ b/csh.env @@ -3,24 +3,24 @@ # GO INTO /etc/csh.cshrc NOT /etc/csh.env setenv CONFIG_PROTECT '/var/bind /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa' -setenv CONFIG_PROTECT_MASK '/etc/gentoo-release /etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/fonts/fonts.conf ${EPREFIX}/etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild' +setenv CONFIG_PROTECT_MASK '/etc/gentoo-release /etc/sandbox.d /etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/fonts/fonts.conf ${EPREFIX}/etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild' setenv EDITOR '/usr/bin/vim' setenv GCC_SPECS '' setenv GDK_USE_XFT '1' setenv GSETTINGS_BACKEND 'gconf' setenv GUILE_LOAD_PATH '/usr/share/guile/1.8' setenv HG '/usr/bin/hg' -setenv INFOPATH '/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/info' +setenv INFOPATH '/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/info' setenv LESS '-R -M --shift 5' setenv LESSOPEN '|lesspipe %s' -setenv MANPATH '/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/man:/etc/java-config/system-vm/man/:/usr/lib64/php5.3/man/:/usr/lib64/php5.4/man/:/usr/share/postgresql/man/:/usr/share/postgresql-9.2/man/' +setenv MANPATH '/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/man:/etc/java-config-2/current-system-vm/man/:/usr/lib64/php5.3/man/:/usr/lib64/php5.4/man/:/usr/share/postgresql/man/:/usr/share/postgresql-9.2/man/' setenv MULTIOSDIRS '../lib64:../lib32' setenv OPENGL_PROFILE 'xorg-x11' setenv PAGER '/usr/bin/less' -setenv PATH '/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4:/usr/lib64/subversion/bin' +setenv PATH '/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/lib64/subversion/bin' setenv PYTHONDOCS_2_7 '/usr/share/doc/python-docs-2.7.2/html/library' setenv PYTHONDOCS_3_2 '/usr/share/doc/python-docs-3.2.2/html/library' setenv PYTHONPATH '/usr/lib/portage/pym' -setenv ROOTPATH '/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4:/usr/lib64/subversion/bin' +setenv ROOTPATH '/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/lib64/subversion/bin' setenv XDG_CONFIG_DIRS '/etc/xdg' setenv XDG_DATA_DIRS '/usr/local/share:/usr/share' diff --git a/enscript.cfg b/enscript.cfg new file mode 100644 index 0000000..92b8132 --- /dev/null +++ b/enscript.cfg @@ -0,0 +1,175 @@ +# +# GNU Enscript configuration file. +# Copyright (c) 1995-1998 Markku Rossi. +# +# Author: Markku Rossi +# +# +# +# This file is part of GNU Enscript. +# +# Enscript is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Enscript is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Enscript. If not, see . +# + +# Do we accept PostScript font's composite characters? As a default, +# this is false because I think this is GhostScript dependant. +AcceptCompositeCharacters: 0 + +# Lookup path for the AFM files. +AFMPath: /usr/share/enscript/afm:/usr/local/lib/ps:/usr/lib/ps + +# Append ^D character to the end of the output. Some printers like HP +# LaserJet 5 require this but the default is `false'. +AppendCtrlD: 0 + +# How characters greater than 127 are printed: +# 1 generate clean 7-bit code; print characters greater than 127 +# in the backslash-octal notation `\xxx' (default) +# 0 generate 8-bit code +Clean7Bit: 1 + +# Default input encoding. +DefaultEncoding: latin1 + +# Default fancy header. +DefaultFancyHeader: enscript + +# Default output media. +DefaultMedia: A4 + +# Where output goes as a default: `printer' or `stdout' +DefaultOutputMethod: printer + +# Include following font files to all PostScript outputs. +# +# DownloadFont: FooFont1 +# DownloadFont: FooFont2 + +# The escape character for special escapes. +EscapeChar: 0 + +# What to do when a formfeed character is encountered from input: +# column move to the beginning of the next column +# page move to the beginning of the next page +FormFeedType: column + +# Specify whether the PageSize page device option is generated to the +# output. +GeneratePageSize: 1 + +# The gray level which is used to print highlight bars. +HighlightBarGray: .97 + +# How high highlight bars are in lines. The default is 0 so no +# highlight bars are printed. +# HighlightBars: 2 + +# Library path. Let's use built-in default. +# LibraryPath: + +# How wrapped lines are marked in printout. Possible values are: `none', +# `plus', `box' and `arrow'. As a default, we do not mark them. +MarkWrappedLines: none + +# Media definitions: +# name width height llx lly urx ury +Media: A3 842 1190 24 24 818 1166 +Media: A4 595 842 24 24 571 818 +Media: A5 420 595 24 24 396 571 +Media: Legal 612 1008 24 24 588 984 +Media: Letter 612 792 38 24 574 768 + +# HP DeskJet media (DeskJet can't print on the bottom 1/2" of the paper). +Media: A4dj 595 842 24 50 571 818 +Media: Letterdj 612 792 24 40 588 768 + +# Spooler option to suppress the job header. +NoJobHeaderSwitch: -h + +# How non-printable characters are printed: `caret', `octal', +# `questionmark' or `space'. +NonPrintableFormat: octal + +# PostScript output's first line. +OutputFirstLine: %!PS-Adobe-3.0 + +# Default page label format: `short' or `long'. +PageLabelFormat: short + +# Enable / disable page prefeed. +PagePrefeed: 0 + +# The PostScript language level that enscript should use. +PostScriptLevel: 2 + +# Printer name to spool to. As a default we want to use system's +# default printer. +# Printer: ps + +# The spooler command switch to select the printer queue. This option +# can also be used to pass other flags to the spooler command but they +# must be given bofore the queue switch. +QueueParam: -P + +# Pass following Page Device options to the generated output. +# +# Duplex printing. +# SetPageDevice: Duplex:true + +# Printer spooler command name. +Spooler: lpr + +# An absolute path to the states program. +StatesBinary: /usr/bin/states + +# Create color outputs with States? +StatesColor: 0 + +# The name of the States configuration file. +StatesConfigFile: /usr/share/enscript/hl/enscript.st + +# States' default highlight style. +StatesHighlightStyle: emacs + +# Path for the States program. +# StatesPath: /usr/share/enscript/hl + +# Pass following statusdict options to the generated output. +# +# Use always paper tray 1. +# StatusDict: setpapertray:1 + +# Format string for table-of-contents entries. +# +# TOCFormat: $3v $-40N $3% pages $4L lines $E $C + +# As a default, print this underlay text to all document. +# Underlay: mtr's printout + +# Underlay text angle. +# UnderlayAngle: 45 + +# Select underlay font. +UnderlayFont: Times-Roman200 + +# Select underlay gray. +UnderlayGray: .8 + +# Underlay text starting position. +# UnderlayPosition: +0-0 + +# Underlay style: `outline' or `filled' +UnderlayStyle: outline + +# EOF diff --git a/env.d/04gcc-x86_64-pc-linux-gnu b/env.d/04gcc-x86_64-pc-linux-gnu index 476e7c4..2106f84 100644 --- a/env.d/04gcc-x86_64-pc-linux-gnu +++ b/env.d/04gcc-x86_64-pc-linux-gnu @@ -1,6 +1,6 @@ -PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4" -ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4" +PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3" +ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3" GCC_SPECS="" -MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/man" -INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/info" +MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man" +INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info" MULTIOSDIRS="../lib64:../lib32" diff --git a/env.d/20java-config b/env.d/20java-config index d435733..1128b5d 100644 --- a/env.d/20java-config +++ b/env.d/20java-config @@ -1,2 +1 @@ -MANPATH=/etc/java-config/system-vm/man/ -CONFIG_PROTECT_MASK="/etc/env.d/java/" +MANPATH="/etc/java-config-2/current-system-vm/man/" diff --git a/env.d/gcc/.NATIVE b/env.d/gcc/.NATIVE index e8dfd92..99ba904 120000 --- a/env.d/gcc/.NATIVE +++ b/env.d/gcc/.NATIVE @@ -1 +1 @@ -x86_64-pc-linux-gnu-4.5.4 \ No newline at end of file +x86_64-pc-linux-gnu-4.6.3 \ No newline at end of file diff --git a/env.d/gcc/config-x86_64-pc-linux-gnu b/env.d/gcc/config-x86_64-pc-linux-gnu index 0954b8b..63f79f2 100644 --- a/env.d/gcc/config-x86_64-pc-linux-gnu +++ b/env.d/gcc/config-x86_64-pc-linux-gnu @@ -1 +1 @@ -CURRENT=x86_64-pc-linux-gnu-4.5.4 +CURRENT=x86_64-pc-linux-gnu-4.6.3 diff --git a/env.d/gcc/x86_64-pc-linux-gnu-4.5.4 b/env.d/gcc/x86_64-pc-linux-gnu-4.5.4 deleted file mode 100644 index d6e7ec1..0000000 --- a/env.d/gcc/x86_64-pc-linux-gnu-4.5.4 +++ /dev/null @@ -1,8 +0,0 @@ -LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4:/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/32" -MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/man" -INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/info" -STDCXX_INCDIR="g++-v4" -CTARGET="x86_64-pc-linux-gnu" -GCC_SPECS="" -MULTIOSDIRS="../lib64:../lib32" -GCC_PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4" diff --git a/env.d/gcc/x86_64-pc-linux-gnu-4.6.3 b/env.d/gcc/x86_64-pc-linux-gnu-4.6.3 new file mode 100644 index 0000000..1f63693 --- /dev/null +++ b/env.d/gcc/x86_64-pc-linux-gnu-4.6.3 @@ -0,0 +1,8 @@ +LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3:/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/32" +MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man" +INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info" +STDCXX_INCDIR="g++-v4" +CTARGET="x86_64-pc-linux-gnu" +GCC_SPECS="" +MULTIOSDIRS="../lib64:../lib32" +GCC_PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3" diff --git a/highlight/filetypes.conf b/highlight/filetypes.conf new file mode 100644 index 0000000..4a51ba1 --- /dev/null +++ b/highlight/filetypes.conf @@ -0,0 +1,101 @@ +-- File extension and shebang mapping + +FileMapping = { + + { Lang="ada", Extensions={"adb", "ads", "a", "gnad"} }, + { Lang="ampl", Extensions={"dat", "run"} }, + { Lang="amtrix", Extensions={"s4", "s4t", "s4h", "hnd", "t4"} }, + { Lang="asm", Extensions={"a51", "29k", "68s", "68x", "x86"} }, + { Lang="asp", Extensions={"asa"} }, + { Lang="ats", Extensions={"dats"} }, + { Lang="aspect", Extensions={"was", "wud"} }, + { Lang="bat", Extensions={"cmd"} }, + { Lang="c", Extensions={"c++", "cpp", "cxx", "cc", "h", "hh", "hxx", "hpp", "cu"} }, + { Lang="coldfusion", Extensions={"cfc","cfm"} }, + { Lang="cobol", Extensions={"cob", "cbl"} }, + { Lang="diff", Extensions={"patch"} }, + { Lang="eiffel", Extensions={"e", "se"} }, + { Lang="erlang", Extensions={"hrl", "erl"} }, + { Lang="euphoria", Extensions={"ex", "exw", "wxu", "ew", "eu"} }, + { Lang="fortran77", Extensions={"f", "for", "ftn"} }, + { Lang="fortran90", Extensions={"f95", "f90"} }, + { Lang="haskell", Extensions={"hs"} }, + { Lang="java", Extensions={"groovy", "grv"} }, + { Lang="lisp", Extensions={"cl", "clisp", "el", "lsp", "sbcl", "scom"} }, + { Lang="make", Extensions={"mak", "mk"} }, + { Lang="smnp", Extensions={"mib","smi"} }, + { Lang="ocaml", Extensions={"ml","mli"} }, + { Lang="mod2", Extensions={"mod", "def"} }, + { Lang="mod3", Extensions={"m3", "i3"} }, + { Lang="oberon", Extensions={"ooc"} }, + { Lang="php", Extensions={"php3", "php4", "php5", "php6"} }, + { Lang="pike", Extensions={"pmod"} }, + { Lang="pl1", Extensions={"ff", "fp", "fpp", "rpp","sf", "sp", "spb", + "spp","sps", "wp", "wf", "wpp","wps","wpb","bdy","spe"} }, + { Lang="perl", Extensions={"pl","perl", "cgi", "pm", "plx", "plex"} }, + { Lang="progress", Extensions={"p", "i", "w"} }, + { Lang="ruby", Extensions={"rb","ruby", "pp", "rjs"} }, + { Lang="rexx", Extensions={"rex", "rx", "the"} }, + { Lang="sh", Extensions={"bash", "ebuild", "eclass"} }, + { Lang="smalltalk", Extensions={"st", "gst", "sq"} }, + { Lang="sybase", Extensions={"sp"} }, + { Lang="tcl", Extensions={"wish", "itcl"} }, + { Lang="tex", Extensions={"sty", "cls"} }, + { Lang="vb", Extensions={"bas", "basic", "bi", "vbs"} }, + { Lang="verilog", Extensions={"v"} }, + { Lang="html", Extensions={"htm", "xhtml"} }, + { Lang="xml", Extensions={"sgm", "sgml", "nrm", "ent","hdr", "hub", "dtd", + "wml","vxml", "wml", "tld", "svg","xsl", "ecf", "jnlp", "xsd"} }, + { Lang="fsharp", Extensions={"fs","fsx"} }, + { Lang="informix", Extensions={"4gl"} }, + { Lang="blitzbasic", Extensions={"bb"} }, + { Lang="innosetup", Extensions={"iss"} }, + { Lang="lotus", Extensions={"ls"} }, + { Lang="ascend", Extensions={"a4c"} }, + { Lang="actionscript", Extensions={"as"} }, + { Lang="express", Extensions={"exp"} }, + { Lang="haxe", Extensions={"hx"} }, + { Lang="pyrex", Extensions={"pyx"} }, + + { Lang="abap4", Extensions={"abp"} }, + { Lang="csharp", Extensions={"cs"} }, + { Lang="interlis", Extensions={"ili"} }, + { Lang="logtalk", Extensions={"lgt"} }, + { Lang="matlab", Extensions={"m"} }, + { Lang="nsis", Extensions={"nsi"} }, + { Lang="bison", Extensions={"y"} }, + { Lang="squirrel", Extensions={"nut"} }, + { Lang="luban", Extensions={"lbn"} }, + { Lang="maya", Extensions={"mel"} }, + { Lang="nemerle", Extensions={"n"} }, + { Lang="paradox", Extensions={"sc"} }, + { Lang="netrexx", Extensions={"nrx"} }, + { Lang="clearbasic", Extensions={"cb"} }, + { Lang="graphviz", Extensions={"dot"} }, + { Lang="small", Extensions={"sma"} }, + { Lang="autoit", Extensions={"au3"} }, + { Lang="chill", Extensions={"chl"} }, + { Lang="autohotkey", Extensions={"ahk"} }, + { Lang="fame", Extensions={"inp"} }, + { Lang="modelica", Extensions={"mo"} }, + { Lang="maple", Extensions={"mpl"} }, + { Lang="jasmin", Extensions={"j"} }, + { Lang="snobol", Extensions={"sno"} }, + { Lang="icon", Extensions={"icn"} }, + { Lang="felix", Extensions={"flx"} }, + { Lang="clips", Extensions={"clp"} }, + { Lang="lindenscript", Extensions={"lsl"} }, + { Lang="lilypond", Extensions={"ly"} }, + { Lang="nasal", Extensions={"nas"} }, + { Lang="clean", Extensions={"icl"} }, + { Lang="assembler", Extensions={"asm"} }, + { Lang="bibtex", Extensions={"bib"} }, + { Lang="python", Extensions={"py"} }, + { Lang="txt", Extensions={"text"} }, + + { Lang="sh", Shebang=[[^#!(\/usr)?(\/local)?\/bin\/(bash|t?csh|[akz]?sh)]] }, + { Lang="pl", Shebang=[[^#!(\/usr)?(\/local)?\/bin\/perl]] }, + { Lang="py", Shebang=[[^#!(\/usr)?(\/local)?\/bin\/python]] }, + { Lang="awk", Shebang=[[^#!(\/usr)?(\/local)?\/bin\/[gn]?awk]] }, + +} diff --git a/init.d/device-mapper b/init.d/device-mapper index 0b62d66..404c269 100755 --- a/init.d/device-mapper +++ b/init.d/device-mapper @@ -1,30 +1,111 @@ #!/sbin/runscript -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/device-mapper.rc-2.02.67-r1,v 1.1 2010/06/09 22:41:45 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/device-mapper.rc-2.02.95-r2,v 1.1 2012/05/27 07:05:22 robbat2 Exp $ depend() { - # necessary for services when using baselayout-2 - # but conflict for baselayout-1 - if [ -e /etc/init.d/root ] ; then - before checkfs fsck - after modules - fi # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that # means dmeventd is NOT notified, as it cannot be safely running - before dmeventd + before dmeventd checkfs fsck + after modules +} + +dm_in_proc() { + local retval=0 + for x in devices misc ; do + grep -qs 'device-mapper' /proc/${x} + retval=$((${retval} + $?)) + done + return ${retval} } +# char **get_new_dm_volumes(void) +# +# Return dmsetup commands to setup volumes +get_new_dm_volumes() { + local volume params + + # Filter comments and blank lines + grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \ + while read volume params ; do + # If it exists, skip it + dmvolume_exists "${volume%:}" && continue + # Assemble the command to run to create volume + echo "echo ${params} | /sbin/dmsetup create ${volume%:}" + done + + return 0 +} + +# int dmvolume_exists(volume) +# +# Return true if volume exists in DM table +dmvolume_exists() { + local x line volume=$1 + + [ -z "${volume}" ] && return 1 + + /sbin/dmsetup ls 2>/dev/null | \ + while read line ; do + for x in ${line} ; do + # the following conditonal return only breaks out + # of the while loop, as it is running in a pipe. + [ "${x}" = "${volume}" ] && return 1 + # We only want to check the volume name + break + done + done + + # if 1 was returned from the above loop, then indicate that + # volume exists + [ $? = 1 ] && return 0 + + # otherwise the loop exited normally and the volume does not + # exist + return 1 +} + +# int is_empty_dm_volume(volume) +# +# Return true if the volume exists in DM table, but is empty/non-valid +is_empty_dm_volume() { + local table volume=$1 + + set -- $(/sbin/dmsetup table 2>/dev/null | grep -e "^${volume}:") + [ "${volume}" = "$1" -a -z "$2" ] +} + + start() { - if [ ! -e /etc/init.d/root ] ; then - eerror "The ${SVCNAME} init script is written for baselayout-2" - eerror "Please do not use it with baselayout-1" - return 1 + if [ -e /proc/modules ] && ! dm_in_proc ; then + modprobe dm-mod 2>/dev/null fi + # Ensure the dirs exist for locking and running + checkpath -q -d -m 0700 -o root:root /run/lvm /run/lock/lvm - local f=/lib64/rcscripts/addons/dm-start.sh - if [ -r "$f" ]; then - ( . "$f" ) + local x volume + + if [ -x /sbin/dmsetup -a -c /dev/mapper/control -a -f /etc/dmtab ] ; then + [ -n "$(get_new_dm_volumes)" ] && \ + einfo " Setting up device-mapper volumes:" + + get_new_dm_volumes | \ + while read x ; do + [ -n "${x}" ] || continue + + volume="${x##* }" + + ebegin " Creating volume: ${volume}" + if ! eval "${x}" >/dev/null 2>/dev/null ; then + eend 1 " Error creating volume: ${volume}" + # dmsetup still adds an empty volume in some cases, + # so lets remove it + is_empty_dm_volume "${volume}" && \ + /sbin/dmsetup remove "${volume}" 2>/dev/null + else + eend 0 + fi + done fi } diff --git a/init.d/lvm b/init.d/lvm index d840e7b..a06aa0b 100755 --- a/init.d/lvm +++ b/init.d/lvm @@ -1,39 +1,96 @@ #!/sbin/runscript -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm.rc-2.02.67-r1,v 1.1 2010/06/09 22:41:45 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/lvm.rc-2.02.95-r2,v 1.1 2012/05/27 07:05:22 robbat2 Exp $ depend() { - if [ -f /etc/init.d/sysfs ]; then - # on baselayout-1 this causes - # dependency-cycles with checkroot (before *) - before checkfs fsck - after modules device-mapper - fi - # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that - # means dmeventd is NOT notified, as it cannot be safely running - before dmeventd + use dmeventd + before checkfs fsck + after dmeventd modules device-mapper } -run_addon() { - local f=/lib64/rcscripts/addons/$1.sh - if [ -r "$f" ]; then - ( . "$f" ) - fi +config='global { locking_dir = "/run/lock/lvm" }' + +dm_in_proc() { + local retval=0 + for x in devices misc ; do + grep -qs 'device-mapper' /proc/${x} + retval=$((${retval} + $?)) + done + return ${retval} } start() { - if [ ! -f /etc/init.d/sysfs ]; then - eerror "The $SVCNAME init-script is written for baselayout-2!" - eerror "Please do not use it with baselayout-1!". + # LVM support for /usr, /home, /opt .... + # This should be done *before* checking local + # volumes, or they never get checked. + + # NOTE: Add needed modules for LVM or RAID, etc + # to /etc/modules.autoload if needed + for lvm_path in /bin/lvm /sbin/lvm ; do + [ -x "$lvm_path" ] && break + done + if [ ! -x "$lvm_path" ]; then + eerror "Cannot find lvm binary in /sbin or /bin!" return 1 fi - - run_addon lvm-start + if [ -z "${CDBOOT}" ] ; then + if [ -e /proc/modules ] && ! dm_in_proc ; then + modprobe dm-mod 2>/dev/null + fi + if [ -d /proc/lvm ] || dm_in_proc ; then + ebegin "Setting up the Logical Volume Manager" + #still echo stderr for debugging + lvm_commands="#! ${lvm_path} --config '${config}'\n" + # Extra PV find pass because some devices might not have been available until very recently + lvm_commands="${lvm_commands}pvscan\n" + # Now make the nodes + lvm_commands="${lvm_commands}vgscan --mknodes\n" + # And turn them on! + lvm_commands="${lvm_commands}vgchange --sysinit -a ly\n" + # Order of this is important, have to work around dash and LVM readline + printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null + eend $? "Failed to setup the LVM" + fi + fi } stop() { - run_addon lvm-stop + for lvm_path in /bin/lvm /sbin/lvm ; do + [ -x "$lvm_path" ] && break + done + if [ ! -x "$lvm_path" ]; then + eerror "Cannot find lvm binary in /sbin or /bin!" + return 1 + fi +# Stop LVM2 +if [ -x /sbin/vgs ] && \ + [ -x /sbin/vgchange ] && \ + [ -x /sbin/lvchange ] && \ + [ -f /etc/lvmtab -o -d /etc/lvm ] && \ + [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ] +then + einfo "Shutting down the Logical Volume Manager" + + + VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix 2> /dev/null) + + if [ "$VGS" ] + then + ebegin " Shutting Down LVs & VGs" + #still echo stderr for debugging + lvm_commands="#! ${lvm_path} --config '${config}'\n" + # Extra PV find pass because some devices might not have been available until very recently + lvm_commands="${lvm_commands}lvchange --sysinit -a ln ${VGS}\n" + # Now make the nodes + lvm_commands="${lvm_commands}vgchange --sysinit -a ln\n" + # Order of this is important, have to work around dash and LVM readline + printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null + eend $? "Failed" + fi + + einfo "Finished Shutting down the Logical Volume Manager" +fi } # vim:ts=4 diff --git a/init.d/udev b/init.d/udev index 1912c8b..6b69044 100755 --- a/init.d/udev +++ b/init.d/udev @@ -1,22 +1,23 @@ #!/sbin/runscript -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -command=/sbin/udevd command_args="--daemon ${udev_opts}" -description="Run udevd and create the device-nodes" +description="udev manages device permissions and symbolic links in /dev" +extra_started_commands="reload" +description_reload="Reload the udev rules and databases" -persistent_cd_disable="${persistent_cd_disable:-no}" -persistent_net_disable="${persistent_net_disable:-no}" rc_coldplug=${rc_coldplug:-${RC_COLDPLUG:-YES}} udev_debug="${udev_debug:-no}" udev_monitor="${udev_monitor:-no}" udev_monitor_keep_running="${udev_monitor_keep_running:-no}" udev_settle_timeout="${udev_settle_timeout:-60}" -kv_min="${kb_min:-2.6.32}" +kv_min="${kv_min:-2.6.34}" depend() { + # we depend on udev-mount explicitly, not dev-mount generic as we don't + # want mdev as a dev-mount provider to come in. provide dev need sysfs udev-mount before checkfs fsck @@ -69,31 +70,37 @@ check_kernel() return 0 } -get_rundir() +start_pre() { - echo $(udevadm info --run) -} + check_kernel || return 1 + if [ -e /proc/sys/kernel/hotplug ]; then + echo "" >/proc/sys/kernel/hotplug + fi -cleanup() -{ - # fail more gracely and not leave udevd running - start-stop-daemon --stop --exec /sbin/udevd - exit 1 -} + # load unix domain sockets if built as module, Bug #221253 + # and not yet loaded, Bug #363549 + if [ ! -e /proc/net/unix ]; then + if ! modprobe unix; then + eerror "Cannot load the unix domain socket module" + return 1 + fi + fi -rules_disable_switch() -{ - # this function disables rules files - # by creating new files with the same name - # in a temp rules directory with higher priority - local f=$(get_rundir)/rules.d/"$1" bname="$1" onoff="$2" + if yesno "${udev_debug}"; then + command_args="${command_args} --debug 2> /run/udevdebug.log" + fi - if yesno "${onoff}"; then - echo "# This file disables ${bname} due to /etc/conf.d/udev" \ - > "${f}" - else - rm -f "${f}" + bins="/sbin/udevd /lib/systemd/systemd-udevd /usr/lib/systemd/systemd-udevd" + for f in ${bins}; do + if [ -x "$f" ] && ! [ -L "$f" ]; then + command="$f" + fi + done + if [ -z "$command" ]; then + eerror "Unable to find udev executable." + return 1 fi + return 0 } is_service_enabled() @@ -107,52 +114,23 @@ is_service_enabled() return 1 } -start_pre() +disable_oldnet_hotplug() { - if [ -d /run ]; then - checkpath -d -m 0755 -o root:root -q /run/udev - fi - if is_service_enabled network; then # disable network hotplugging - local f="$(get_rundir)/rules.d/90-network.rules" + local f="/run/udev/rules.d/90-network.rules" echo "# This file disables network hotplug events calling" >> "${f}" echo "# old-style openrc net scripts" >> "${f}" echo "# as we use /etc/init.d/network to set up our network" >> "${f}" fi - - if [ ! -e /etc/runlevels/${RC_DEFAULTLEVEL:-default}/udev-postmount ]; then - ewarn "You should add udev-postmount service to your default runlevel." - fi - - /lib/udev/write_root_link_rule - - rules_disable_switch 75-persistent-net-generator.rules "${persistent_net_disable}" - rules_disable_switch 75-cd-aliases-generator.rules ${persistent_cd_disable} - - if [ -e /proc/sys/kernel/hotplug ]; then - echo "" >/proc/sys/kernel/hotplug - fi - - # load unix domain sockets if built as module, Bug #221253 - # and not yet loaded, Bug #363549 - if [ ! -e /proc/net/unix ]; then - if ! modprobe unix; then - eerror "Cannot load the unix domain socket module" - fi - fi - - if yesno "${udev_debug}"; then - command_args="${command_args} --debug 2> $(get_rundir)/udev.log" - fi } start_udevmonitor() { yesno "${udev_monitor}" || return 0 - udevmonitor_log="$(get_rundir)/udevmonitor.log" - udevmonitor_pid="$(get_rundir)/udevmonitor.pid" + udevmonitor_log=/run/udevmonitor.log + udevmonitor_pid=/run/udevmonitor.pid einfo "udev: Running udevadm monitor ${udev_monitor_opts} to log all events" start-stop-daemon --start --stdout "${udevmonitor_log}" \ @@ -175,70 +153,13 @@ populate_dev() udevadm trigger --type=subsystems --action=add udevadm trigger --type=devices --action=add eend $? - - # we can speed up booting under these conditions: - # * using devtmpfs so kernel creates device nodes for us - # * only using kernel created device nodes at boot - # (in /etc/fstab and elsewhere) - # ebegin "Waiting for uevents to be processed" udevadm settle --timeout=${udev_settle_timeout} eend $? - udevadm control --property=do_not_run_plug_service= return 0 } -check_persistent_net() -{ - # check if there are problems with persistent-net - local syspath= devs= problem=false - for syspath in /sys/class/net/*_rename*; do - if [ -d "${syspath}" ]; then - devs="${devs} ${syspath##*/}" - problem=true - fi - done - - ${problem} || return 0 - - eerror "UDEV: Your system has a problem assigning persistent names" - eerror "to these network interfaces: ${devs}" - - einfo "Checking persistent-net rules:" - # the sed-expression lists all duplicate lines - # from the input, like "uniq -d" does, but uniq - # is installed into /usr/bin and not available at boot. - dups=$( - RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' - . /lib/udev/rule_generator.functions - find_all_rules 'NAME=' '.*' | \ - tr ' ' '\n' | \ - sort | \ - sed '$!N; s/^\(.*\)\n\1$/\1/; t; D' - ) - if [ -n "${dups}" ]; then - ewarn "The rules create multiple entries assigning these names:" - eindent - ewarn "${dups}" - eoutdent - else - ewarn "Found no duplicate names in persistent-net rules," - ewarn "there must be some other problem!" - fi - return 1 -} - -check_udev_works() -{ - # should exist on every system, else udev failed - if [ ! -e /dev/zero ]; then - eerror "Assuming udev failed somewhere, as /dev/zero does not exist." - return 1 - fi - return 0 -} - stop_udevmonitor() { yesno "${udev_monitor}" || return 0 @@ -265,11 +186,24 @@ display_hotplugged_services() start_post() { + disable_oldnet_hotplug start_udevmonitor populate_dev - check_persistent_net - check_udev_works || cleanup stop_udevmonitor display_hotplugged_services return 0 } + +stop() +{ + ebegin "Stopping ${name:-$RC_SVCNAME}" + udevadm control --exit + eend $? "Failed to stop $RC_SVCNAME" +} + +reload() +{ + ebegin "reloading udev rules and databases" + udevadm control --reload + eend $? +} diff --git a/init.d/udev-mount b/init.d/udev-mount index f870039..a868340 100755 --- a/init.d/udev-mount +++ b/init.d/udev-mount @@ -1,8 +1,8 @@ #!/sbin/runscript -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -description="mount devtmpfs or tmpfs on /dev" +description="mount devtmpfs on /dev" depend() { @@ -12,22 +12,42 @@ depend() mount_dev_directory() { - if mountinfo -q /dev; then - einfo "/dev is already mounted" - return 0 + local mounted=false fstab=false action=--mount msg=Mounting rc=0 + + if ! grep -qs devtmpfs /proc/filesystems; then + eerror "CONFIG_DEVTMPFS=y is required in your kernel configuration" + eerror "for this version of udev to run successfully." + eerror "This requires immediate attention." + if ! mountinfo -q /dev; then + mount -n -t tmpfs dev /dev + busybox mdev -s + mkdir /dev/pts + fi + return 1 fi - # No options are processed here as they should all be in /etc/fstab - ebegin "Mounting /dev" - if ! fstabinfo --mount /dev; then - # we mount devtmpfs if supported - local fs=tmpfs - grep -qs devtmpfs /proc/filesystems && fs=devtmpfs + # Is /dev already a mounted devtmpfs? + mountinfo -q -f devtmpfs /dev && mounted=true + + # If an entry for /dev exists in fstab it must be a devtmpfs. + fstabinfo -q -t devtmpfs /dev && fstab=true + # No options are processed here as they should all be in /etc/fstab + if $fstab; then + $mounted && action=--remount && msg=Remounting + ebegin "$msg /dev according to /etc/fstab" + fstabinfo $action /dev + rc=$? + elif ! $mounted; then + ebegin "Mounting /dev" # Some devices require exec, Bug #92921 - mount -n -t "$fs" -o "exec,nosuid,mode=0755,size=10M" udev /dev + mount -n -t devtmpfs -o "exec,nosuid,mode=0755,size=10M" udev /dev + rc=$? + else + ebegin "Using /dev mounted from kernel" fi - eend $? + + eend $rc } seed_dev() @@ -43,14 +63,12 @@ seed_dev() # udevd will dup its stdin/stdout/stderr to /dev/null # and we do not want a file which gets buffered in ram [ -c /dev/null ] || mknod -m 666 /dev/null c 1 3 - ${HAVE_SELINUX} && restorecon /dev/null # so udev can add its start-message to dmesg [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11 # Create problematic directories mkdir -p /dev/pts /dev/shm - ${HAVE_SELINUX} && restorecon -R /dev >/dev/null return 0 } @@ -58,14 +76,6 @@ start() { mount_dev_directory || return 1 - # Selinux lovin; /selinux should be mounted by selinux-patched init - if [ -x /sbin/restorecon -a -c /selinux/null ]; then - HAVE_SELINUX=true - restorecon /dev > /selinux/null - else - HAVE_SELINUX=false - fi - seed_dev return 0 } diff --git a/init.d/udev-postmount b/init.d/udev-postmount deleted file mode 100755 index d689681..0000000 --- a/init.d/udev-postmount +++ /dev/null @@ -1,66 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -udev_version() -{ - echo $(udevadm --version) -} - -depend() -{ - need localmount - if [ $(udev_version) -lt 175 ]; then - after dbus # for trigger failed - fi - keyword -vserver -lxc -} - -dir_writeable() -{ - touch "$1"/.test.$$ 2>/dev/null && rm "$1"/.test.$$ -} - -# store persistent-rules that got created while booting -# when / was still read-only -store_persistent_rules() -{ - # only continue if rules-directory is writable - dir_writeable /etc/udev/rules.d || return 0 - - local file dest - for file in "${RUNDIR}"/tmp-rules--*; do - dest=${file##*tmp-rules--} - [ "$dest" = '*' ] && break - type=${dest##70-persistent-} - type=${type%%.rules} - ebegin "Saving udev persistent ${type} rules to /etc/udev/rules.d" - cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file" - eend $? "Failed moving persistent rules!" - done -} - -start() -{ - RUNDIR=$(udevadm info --run) - # check if this system uses udev - [ -d "${RUNDIR}" ] || return 0 - - einfo "Doing udev cleanups" - - if [ $(udev_version) -lt 175 ]; then - # Run the events that failed at first udev trigger - udevadm trigger --type=failed -v - fi - - # store persistent-rules that got created while booting - # when / was still read-only - store_persistent_rules -} - -stop() -{ - return 0 -} - -# vim:ts=4 diff --git a/layman/layman.cfg b/layman/layman.cfg index ea68e66..e5c7c72 100644 --- a/layman/layman.cfg +++ b/layman/layman.cfg @@ -1,5 +1,4 @@ [MAIN] - #----------------------------------------------------------- # Defines the directory where overlays should be installed @@ -14,16 +13,23 @@ cache : %(storage)s/cache #----------------------------------------------------------- # The list of locally installed overlays -local_list: %(storage)s/overlays.xml +installed: %(storage)s/installed.xml + +# This has been renamed from the following +# old name : value use it for updating to new one above +# local_list: %(storage)s/overlays.xml +# either rename the overlays.xml file to installed.xml +# or edit the value above to the current name of your +# installed overlay(s) file. #----------------------------------------------------------- -# Path to the make.conf file that should be modified by +# Path to the make.conf file that should be modified by # layman make_conf : %(storage)s/make.conf #----------------------------------------------------------- -# URLs of the remote lists of overlays (one per line) or +# URLs of the remote lists of overlays (one per line) or # local overlay definitions # #overlays : http://www.gentoo.org/proj/en/overlays/repositories.xml @@ -33,6 +39,15 @@ make_conf : %(storage)s/make.conf overlays : http://www.gentoo.org/proj/en/overlays/repositories.xml +#----------------------------------------------------------- +# The directory to scan for xml overlay definition files to include +# in the list of available overlays. They are automatically added to the +# "overlays" parameter above. Use either method, but do not add the same +# definition in both. +# + +#overlay_defs : /etc/layman/overlays + #----------------------------------------------------------- # Proxy support # If unset, layman will use the http_proxy environment variable. @@ -46,7 +61,7 @@ overlays : http://www.gentoo.org/proj/en/overlays/repositories.xml # Hopefully this description eases the double negation trouble: # # nocheck : yes -# - Accepts completene overlay entries without warnings +# - Accepts complete overlay entries without warnings # - Lists overlays of type foo (say Git) even with no foo installed # # nocheck : no @@ -65,6 +80,32 @@ nocheck : yes # #umask : 0022 +#----------------------------------------------------------- +# News reporting settings +# +# This is for when layman is adding/syncing overlays. +# It is required for GLEP 42. +# Currently there are 3 possible values: +# portage, pkgcore, custom +# +# portage: uses portage to report news only from overlay(s) in +# versions >=2.2.0_alpha72 or >=2.1.10.32 +# or all repositories (including gentoo) for older portage versions. +# pkgcore: does not yet support glep 42, no news is reported +# custom: requires that you provide a suitable python function +# to 'custom_news_func' using the api's config.set_option() +# or define the python package to import it from in custom_news_pkg + +news_reporter: portage + +#----------------------------------------------------------- +# News reporting custom function setting +# +# the pkg name that contains the layman_news_function() +# for it to import and use. It must be found in PYTHONPATH + +#custom_news_pkg : + #----------------------------------------------------------- # Command overrides # @@ -87,3 +128,73 @@ nocheck : yes #rsync_command : /usr/bin/rsync #svn_command : /usr/bin/svn #tar_command : /bin/tar +#g-common_command : /usr/bin/g-common + + +#----------------------------------------------------------- +# Command additional options +# +# These commnad options will be added to the above commands +# when the overlay is added or synced. +# +# note: there are some options hardcoded in the backend +# scripts already. All VCS types listed here are +# for general consistency. Options may not be available +# or recommended for all VCS types and/or add/sync operations. +# Any options defined here are deemed: +# "Use at your own risk" +# and are not supported. +# +# eg: +# svn_addopts : --config-option=config:miscellany:use-commit-times=yes +# + +#bzr_addopts : +#bzr_syncopts : +#cvs_addopts : +#cvs_syncopts : +#darcs_addopts : +#darcs_syncopts : +#git_addopts : +#git_syncopts : +#mercurial_addopts : +#mercurial_syncopts : +#rsync_syncopts : +#svn_addopts : +#svn_syncopts : +#g-common_generateopts : +#g-common_syncopts : + + +#----------------------------------------------------------- +# Per VCS Post Sync/Add hooks +# +# The listed commands will be run after every add/sync operation. +# All on one line If the repo path is needed, use a %cwd= in +# where you want the path substituted in. It will be detected +# and replaced with the correct path. +# +# eg: git_postsync : git-set-file-times +# eg: git_postsync : git-set-file-times %cwd= +# eg: git_postsync : git-set-file-times path=%cwd= +# +#bzr_postsync : +#cvs_postsync : +#darcs_postsync : +#git_postsync : +#mercurial_postsync : +#rsync_postsync : +#svn_postsync : +#tar_postsync : +#g-common_postsync : + + +#----------------------------------------------------------- +# Layman user info +# +# The user name and email to use when adding new repos +# +#git_user : layman +#git_email : layman@localhost + + diff --git a/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf b/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf index cc44c05..62d62a0 100644 --- a/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf +++ b/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf @@ -1,2 +1,2 @@ -/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/32 -/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4 +/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/32 +/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3 diff --git a/lvm/lvm.conf b/lvm/lvm.conf index cec2578..de3077e 100644 --- a/lvm/lvm.conf +++ b/lvm/lvm.conf @@ -51,9 +51,11 @@ devices { # Be careful if there there are symbolic links or multiple filesystem # entries for the same device as each name is checked separately against - # the list of patterns. The effect is that if any name matches any 'a' - # pattern, the device is accepted; otherwise if any name matches any 'r' - # pattern it is rejected; otherwise it is accepted. + # the list of patterns. The effect is that if the first pattern in the + # list to match a name is an 'a' pattern for any of the names, the device + # is accepted; otherwise if the first pattern in the list to match a name + # is an 'r' pattern for any of the names it is rejected; otherwise it is + # accepted. # Don't have more than one filter line active at once: only one gets used. @@ -86,6 +88,9 @@ devices { # It is safe to delete the contents: the tools regenerate it. # (The old setting 'cache' is still respected if neither of # these new ones is present.) + # N.B. If obtain_device_list_from_udev is set to 1 the list of + # devices is instead obtained from udev and any existing .cache + # file is removed. cache_dir = "/etc/lvm/cache" cache_file_prefix = "" @@ -103,6 +108,11 @@ devices { # 1 enables; 0 disables. sysfs_scan = 1 + # By default, LVM2 will ignore devices used as component paths + # of device-mapper multipath devices. + # 1 enables; 0 disables. + multipath_component_detection = 1 + # By default, LVM2 will ignore devices used as components of # software RAID (md) devices by looking for md superblocks. # 1 enables; 0 disables. @@ -185,35 +195,38 @@ devices { # This section allows you to configure the way in which LVM selects # free space for its Logical Volumes. -#allocation { -# When searching for free space to extend an LV, the "cling" -# allocation policy will choose space on the same PVs as the last -# segment of the existing LV. If there is insufficient space and a -# list of tags is defined here, it will check whether any of them are -# attached to the PVs concerned and then seek to match those PV tags -# between existing extents and new extents. -# Use the special tag "@*" as a wildcard to match any PV tag. -# -# Example: LVs are mirrored between two sites within a single VG. -# PVs are tagged with either @site1 or @site2 to indicate where -# they are situated. -# -# cling_tag_list = [ "@site1", "@site2" ] -# cling_tag_list = [ "@*" ] -# -# Changes made in version 2.02.85 extended the reach of the 'cling' -# policies to detect more situations where data can be grouped -# onto the same disks. Set this to 0 to revert to the previous -# algorithm. -# -# maximise_cling = 1 -# -# Set to 1 to guarantee that mirror logs will always be placed on -# different PVs from the mirror images. This was the default -# until version 2.02.85. -# -# mirror_logs_require_separate_pvs = 0 -#} +allocation { + + # When searching for free space to extend an LV, the "cling" + # allocation policy will choose space on the same PVs as the last + # segment of the existing LV. If there is insufficient space and a + # list of tags is defined here, it will check whether any of them are + # attached to the PVs concerned and then seek to match those PV tags + # between existing extents and new extents. + # Use the special tag "@*" as a wildcard to match any PV tag. + + # Example: LVs are mirrored between two sites within a single VG. + # PVs are tagged with either @site1 or @site2 to indicate where + # they are situated. + + # cling_tag_list = [ "@site1", "@site2" ] + # cling_tag_list = [ "@*" ] + + # Changes made in version 2.02.85 extended the reach of the 'cling' + # policies to detect more situations where data can be grouped + # onto the same disks. Set this to 0 to revert to the previous + # algorithm. + maximise_cling = 1 + + # Set to 1 to guarantee that mirror logs will always be placed on + # different PVs from the mirror images. This was the default + # until version 2.02.85. + mirror_logs_require_separate_pvs = 0 + + # Set to 1 to guarantee that thin pool metadata will always + # be placed on different PVs from the pool data. + thin_pool_metadata_require_separate_pvs = 0 +} # This section that allows you to configure the nature of the # information that LVM2 reports. @@ -380,7 +393,7 @@ global { # Local non-LV directory that holds file-based locks while commands are # in progress. A directory like /tmp that may get wiped on reboot is OK. - locking_dir = "/var/lock/lvm" + locking_dir = "/run/lock/lvm" # Whenever there are competing read-only and read-write access requests for # a volume group's metadata, instead of always granting the read-only @@ -424,8 +437,12 @@ global { # "mirror" - The original RAID1 implementation provided by LVM2/DM. It is # characterized by a flexible log solution (core, disk, mirrored) # and by the necessity to block I/O while reconfiguring in the - # event of a failure. Snapshots of this type of RAID1 can be - # problematic. + # event of a failure. + # + # There is an inherent race in the dmeventd failure handling + # logic with snapshots of devices using this type of RAID1 that + # in the worst case could cause a deadlock. + # Ref: https://bugzilla.redhat.com/show_bug.cgi?id=817130#c10 # # "raid1" - This implementation leverages MD's RAID1 personality through # device-mapper. It is characterized by a lack of log options. @@ -433,10 +450,45 @@ global { # on the same device as the image - no separate devices are # required.) This mirror implementation does not require I/O # to be blocked in the kernel in the event of a failure. + # This mirror implementation is not cluster-aware and cannot be + # used in a shared (active/active) fashion in a cluster. # # Specify the '--type ' option to override this default # setting. mirror_segtype_default = "mirror" + + # The default format for displaying LV names in lvdisplay was changed + # in version 2.02.89 to show the LV name and path separately. + # Previously this was always shown as /dev/vgname/lvname even when that + # was never a valid path in the /dev filesystem. + # Set to 1 to reinstate the previous format. + # + # lvdisplay_shows_full_device_path = 0 + + # Whether to use (trust) a running instance of lvmetad. If this is set to + # 0, all commands fall back to the usual scanning mechanisms. When set to 1 + # *and* when lvmetad is running (it is not auto-started), the volume group + # metadata and PV state flags are obtained from the lvmetad instance and no + # scanning is done by the individual commands. In a setup with lvmetad, + # lvmetad udev rules *must* be set up for LVM to work correctly. Without + # proper udev rules, all changes in block device configuration will be + # *ignored* until a manual 'vgscan' is performed. + use_lvmetad = 0 + + # Full path of the utility called to check that a thin metadata device + # is in a state that allows it to be used. + # Each time a thin pool needs to be activated or after it is deactivated + # this utility is executed. The activation will only proceed if the utility + # has an exit status of 0. + # Set to "" to skip this check. (Not recommended.) + # The thin tools are available as part of the device-mapper-persistent-data + # package from https://github.com/jthornber/thin-provisioning-tools. + # + thin_check_executable = "/sbin/thin_check" + + # String with options passed with thin_check command. By default, + # option '-q' is for quiet output. + thin_check_options = [ "-q" ] } activation { @@ -469,6 +521,11 @@ activation { # Useful for diagnosing problems with LVM2/udev interactions. verify_udev_operations = 0 + # If set to 1 and if deactivation of an LV fails, perhaps because + # a process run from a quick udev rule temporarily opened the device, + # retry the operation for a few seconds before failing. + retry_deactivation = 1 + # How to fill in missing stripes if activating an incomplete volume. # Using "error" will make inaccessible parts of the device return # I/O errors on access. You can instead use a device path, in which @@ -477,8 +534,14 @@ activation { # or snapshotted volumes is likely to result in data corruption. missing_stripe_filler = "error" + # The linear target is an optimised version of the striped target + # that only handles a single stripe. Set this to 0 to disable this + # optimisation and always use the striped target. + use_linear_target = 1 + # How much stack (in KB) to reserve for use while devices suspended - reserved_stack = 256 + # Prior to version 2.02.89 this used to be set to 256KB + reserved_stack = 64 # How much memory (in KB) to reserve for use while devices suspended reserved_memory = 8192 @@ -494,6 +557,25 @@ activation { # # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # If auto_activation_volume_list is defined, each LV that is to be + # activated is checked against the list while using the autoactivation + # option (--activate ay/-a ay), and if it matches, it is activated. + # "vgname" and "vgname/lvname" are matched exactly. + # "@tag" matches any tag set in the LV or VG. + # "@*" matches if any tag defined on the host is also set in the LV or VG + # + # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + + # If read_only_volume_list is defined, each LV that is to be activated + # is checked against the list, and if it matches, it as activated + # in read-only mode. (This overrides '--permission rw' stored in the + # metadata.) + # "vgname" and "vgname/lvname" are matched exactly. + # "@tag" matches any tag set in the LV or VG. + # "@*" matches if any tag defined on the host is also set in the LV or VG + # + # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] + # Size (in KB) of each copy operation when mirroring mirror_region_size = 512 @@ -503,9 +585,31 @@ activation { # "auto" - Use default value chosen by kernel. readahead = "auto" + # 'raid_fault_policy' defines how a device failure in a RAID logical + # volume is handled. This includes logical volumes that have the following + # segment types: raid1, raid4, raid5*, and raid6*. + # + # In the event of a failure, the following policies will determine what + # actions are performed during the automated response to failures (when + # dmeventd is monitoring the RAID logical volume) and when 'lvconvert' is + # called manually with the options '--repair' and '--use-policies'. + # + # "warn" - Use the system log to warn the user that a device in the RAID + # logical volume has failed. It is left to the user to run + # 'lvconvert --repair' manually to remove or replace the failed + # device. As long as the number of failed devices does not + # exceed the redundancy of the logical volume (1 device for + # raid4/5, 2 for raid6, etc) the logical volume will remain + # usable. + # + # "allocate" - Attempt to use any extra physical volumes in the volume + # group as spares and replace faulty devices. + # + raid_fault_policy = "warn" + # 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define - # how a device failure affecting a mirror is handled. - # A mirror is composed of mirror images (copies) and a log. + # how a device failure affecting a mirror (of "mirror" segment type) is + # handled. A mirror is composed of mirror images (copies) and a log. # A disk log ensures that a mirror does not need to be re-synced # (all copies made the same) every time a machine reboots or crashes. # @@ -562,6 +666,25 @@ activation { snapshot_autoextend_threshold = 100 snapshot_autoextend_percent = 20 + # 'thin_pool_autoextend_threshold' and 'thin_pool_autoextend_percent' define + # how to handle automatic pool extension. The former defines when the + # pool should be extended: when its space usage exceeds this many + # percent. The latter defines how much extra space should be allocated for + # the pool, in percent of its current size. + # + # For example, if you set thin_pool_autoextend_threshold to 70 and + # thin_pool_autoextend_percent to 20, whenever a pool exceeds 70% usage, + # it will be extended by another 20%. For a 1G pool, using up 700M will + # trigger a resize to 1.2G. When the usage exceeds 840M, the pool will + # be extended to 1.44G, and so on. + # + # Setting thin_pool_autoextend_threshold to 100 disables automatic + # extensions. The minimum value is 50 (A setting below 50 will be treated + # as 50). + + thin_pool_autoextend_threshold = 100 + thin_pool_autoextend_percent = 20 + # While activating devices, I/O to devices being (re)configured is # suspended, and as a precaution against deadlocks, LVM2 needs to pin # any memory it is using so it is not paged out. Groups of pages that @@ -660,6 +783,15 @@ dmeventd { snapshot_library = "libdevmapper-event-lvm2snapshot.so" + # thin_library is the library used when monitoring a thin device. + # + # "libdevmapper-event-lvm2thin.so" monitors the filling of + # pool and emits a warning through syslog when the use of + # the pool exceeds 80%. The warning is repeated when 85%, 90% and + # 95% of the pool is filled. + + thin_library = "libdevmapper-event-lvm2thin.so" + # Full path of the dmeventd binary. # # executable = "/sbin/dmeventd" diff --git a/make.conf b/make.conf deleted file mode 100644 index 2455a59..0000000 --- a/make.conf +++ /dev/null @@ -1,88 +0,0 @@ -# These settings were set by the catalyst build script that automatically -# built this stage. -# Please consult /usr/share/portage/config/make.conf.example for a more -# detailed example. -CFLAGS="-O2 -pipe -march=opteron" -CXXFLAGS="${CFLAGS}" - -# WARNING: Changing your CHOST is not something that should be done lightly. -# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. -CHOST="x86_64-pc-linux-gnu" - -# These are the USE flags that were used in addition to what is provided by the -# profile used for building. -USE="3dnow X acl apache2 audit bash-completion bazaar bzip2 caps cgi curl cvs \ - djvu doc examples expat fam fastcgi fontconfig ftp gd gif git gmp \ - gnome-keyring gnutls gpg graphviz gs gsl gsm gtk guile hscolour html i18n \ - icu idn imagemagick imap ipv6 ithreads jadetex java javascript jbig jpeg \ - jpeg2k kerberos lasi ldap libwww lua lzma lzo maildir mailwrapper \ - mercurial mmx mmxext mod modperl modplug motif mp3 mysql \ - nis odbc ogg openexr openldap pam pch pcre pdf perl php pic png postgres \ - postscript python rar samba sasl session smtp snmp soap spamassassin \ - speex spell sqlite sqlite3 sse sse2 ssh subversion svg syslog theora tiff tk \ - truetype unicode vhosts vim-syntax vorbis wmf x264 xattr xml xmlrpc xpm \ - xsl xvid zlib" -#USE="3dnow X acl apache2 audit bash-completion bazaar bzip2 caps cgi cvs curl \ -# darcs djvu doc examples expat fam fastcgi fontconfig ftp gd gif git gmp gnome-keyring \ -# gnutls gpg graphviz gs gsl gtk guile hscolour html icu idn imagemagick imap ipv6 ithreads \ -# jadetex java javascript jbig jpeg jpeg2k kerberos lasi ldap libwww lua \ -# lzma lzo maildir mailwrapper mercurial mmx mmxext modperl modplug motif mp3 mysql \ -# nis odbc ogg openexr openldap pam pch pcre pdf perl pic png php python rar samba sasl \ -# session smtp snmp soap spamassassin spell sqlite sqlite3 sse sse2 ssh \ -# subversion svg syslog theora tiff tk truetype unicode vhosts vim-syntax \ -# vorbis wmf x264 xattr xml xmlrpc xpm xsl xvid zlib" - - -I_KNOW_WHAT_I_AM_DOING=yes - -ACCEPT_LICENSE="DOOM3 PUEL RTCW RTCW-ETEULA" - -APACHE2_MODULES="actions alias asis auth_basic auth_digest authn_alias - authn_anon authn_dbd authn_dbm authn_default authn_file - authz_dbm authz_default authz_groupfile authz_host - authz_owner authz_user autoindex cache cern_meta cgi cgid - charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache - dumpio env expires ext_filter file_cache filter headers icu - ident imagemap include info log_config log_forensic logio - mem_cache mime mime_magic negotiation proxy proxy_ajp - proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi - reqtimeout rewrite setenvif speling status substitute - unique_id userdir usertrack version vhost_alias " - -#APACHE2_MPMS="-event% -itk% -peruser% -prefork% -worker%" -APACHE2_MPMS="prefork" - -VIDEO_CARDS="intel mach64 r128 radeon savage via svga" - -CONFIG_PROTECT="/var/www/ldap/htdocs/config \ - /var/www/ldap/htdocs/templates \ - /var/www/bautagebuch/htdocs/wp-config.php \ - /var/www/myadmin/htdocs/config.inc.php \ - /var/www/webmail/htdocs/horde/config \ - /usr/share/logwatch/default.conf \ - " -#CONFIG_PROTECT_MASK="/etc/init.d" - -PORTAGE_NICENESS=3 - -AUTOCLEAN="yes" - -PORTDIR_OVERLAY="/usr/local/portage" - -#FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P \${DISTDIR} \${URI}" -#FETCHCOMMAND="mv -v \${DISTDIR}/.old/\${FILE} \${DISTDIR}/" - -FEATURES="parallel-fetch" -#MAKEOPTS="-j3" -EMERGE_DEFAULT_OPTS="--with-bdeps y --complete-graph=y --quiet-build=y --jobs=4 --load-average=6" - -LINGUAS="de de_AT de_BE de_CH de_DE de_LU en en_AG en_AU en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_ZA en_ZW en_US ru_RU ru_UA" - -#GENTOO_MIRRORS="ftp://mirror.netcologne.de/gentoo/ ftp://mirror.muntinternet.net/pub/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ http://gentoo.supp.name/" -#GENTOO_MIRRORS="http://mirror.opteamax.de/gentoo/ http://gentoo.mneisen.org/ http://gentoo.mirror.dkm.cz/pub/gentoo/ http://de-mirror.org/gentoo/ http://gentoo.wheel.sk/" -GENTOO_MIRRORS="http://gentoo.mneisen.org/ http://gentoo.wheel.sk/ http://mirror.netcologne.de/gentoo/ http://gentoo.tiscali.nl/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/" - - -#PORT_LOGDIR="/var/log/portage" -source /var/lib/layman/make.conf - diff --git a/make.conf.catalyst b/make.conf.catalyst deleted file mode 100644 index 9806b00..0000000 --- a/make.conf.catalyst +++ /dev/null @@ -1,12 +0,0 @@ -# These settings were set by the catalyst build script that automatically -# built this stage. -# Please consult /usr/share/portage/config/make.conf.example for a more -# detailed example. -CFLAGS="-O2 -pipe" -CXXFLAGS="${CFLAGS}" -# WARNING: Changing your CHOST is not something that should be done lightly. -# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing. -CHOST="x86_64-pc-linux-gnu" -# These are the USE flags that were used in addition to what is provided by the -# profile used for building. -USE="mmx sse sse2" diff --git a/modprobe.d/blacklist.conf b/modprobe.d/blacklist.conf deleted file mode 100644 index 90bc234..0000000 --- a/modprobe.d/blacklist.conf +++ /dev/null @@ -1,29 +0,0 @@ -# This file lists modules which will not be loaded by udev, -# not at coldplugging and not on hotplug events. - -# Add your own entries to this file -# in the format "blacklist " - -# Some examples: -# evbug is a debug tool and should be loaded explicitly -blacklist evbug - -# Autoloading eth1394 most of the time re-orders your network -# interfaces, and with buggy kernel 2.6.21, udev persistent-net -# is not able to rename these devices, so you get eth?_rename devices -# plus an exceeded 30sec boot timeout -blacklist eth1394 - -# You probably want this to not get the console beep loud on every tab :) -#blacklist pcspkr - -# these drivers are very simple, the HID drivers are usually preferred -#blacklist usbmouse -#blacklist usbkbd - -# Sometimes loading a framebuffer driver at boot gets the console black -#install pci:v*d*sv*sd*bc03sc*i* /bin/true - -# hplip and cups 1.4+ use raw USB devices, so it requires usblp not be loaded -#blacklist usblp - diff --git a/modprobe.d/pnp-aliases.conf b/modprobe.d/pnp-aliases.conf deleted file mode 100644 index 3675fbb..0000000 --- a/modprobe.d/pnp-aliases.conf +++ /dev/null @@ -1,17 +0,0 @@ -# /etc/modprobe.d/pnp-aliases -# -# These aliases are used by this udev-rule: -# SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'" -# -# They should help to autoload drivers used by various pnp-devices -# (if not blacklisted somewhere else) -# -alias pnp:dPNP0510 irtty-sir -alias pnp:dPNP0511 irtty-sir -alias pnp:dPNP0700 floppy -alias pnp:dPNP0800 pcspkr -alias pnp:dPNP0b00 rtc -alias pnp:dPNP0303 atkbd -alias pnp:dPNP0f13 psmouse -alias pnp:dPNPb02f analog - diff --git a/modprobe.d/usb-load-ehci-first.conf b/modprobe.d/usb-load-ehci-first.conf deleted file mode 100644 index 9b62fb4..0000000 --- a/modprobe.d/usb-load-ehci-first.conf +++ /dev/null @@ -1,2 +0,0 @@ -softdep uhci_hcd pre: ehci_hcd -softdep ohci_hcd pre: ehci_hcd diff --git a/mysql/my.cnf.orig b/mysql/my.cnf.orig index 50a3c2e..833d8ae 100644 --- a/mysql/my.cnf.orig +++ b/mysql/my.cnf.orig @@ -1,5 +1,5 @@ # /etc/mysql/my.cnf: The global mysql configuration file. -# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.3 2012/02/15 02:07:21 jmbsvicetto Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-5.1,v 1.4 2013/01/20 02:40:02 robbat2 Exp $ # The following options will be passed to all MySQL clients [client] diff --git a/portage b/portage deleted file mode 160000 index 99a6e1e..0000000 --- a/portage +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99a6e1eb9bd817e9c637739f2f6910de2bab2afe diff --git a/postfix/main.cf b/postfix/main.cf index e911f61..0befb51 100644 --- a/postfix/main.cf +++ b/postfix/main.cf @@ -642,7 +642,7 @@ setgid_group = postdrop # html_directory: The location of the Postfix HTML documentation. # -html_directory = /usr/share/doc/postfix-2.9.4/html +html_directory = /usr/share/doc/postfix-2.9.5/html # manpage_directory: The location of the Postfix on-line manual pages. # @@ -655,7 +655,7 @@ sample_directory = /etc/postfix # readme_directory: The location of the Postfix README files. # -readme_directory = /usr/share/doc/postfix-2.9.4/readme +readme_directory = /usr/share/doc/postfix-2.9.5/readme home_mailbox = .maildir/ #alias_maps = mysql:/etc/postfix/mysql-aliases.cf alias_maps = hash:/etc/postfix/maps/aliases diff --git a/profile.env b/profile.env index 256b9ad..0863722 100644 --- a/profile.env +++ b/profile.env @@ -3,24 +3,24 @@ # GO INTO /etc/profile NOT /etc/profile.env export CONFIG_PROTECT='/var/bind /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa' -export CONFIG_PROTECT_MASK='/etc/gentoo-release /etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/fonts/fonts.conf ${EPREFIX}/etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild' +export CONFIG_PROTECT_MASK='/etc/gentoo-release /etc/sandbox.d /etc/php/cli-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/fonts/fonts.conf ${EPREFIX}/etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild' export EDITOR='/usr/bin/vim' export GCC_SPECS='' export GDK_USE_XFT='1' export GSETTINGS_BACKEND='gconf' export GUILE_LOAD_PATH='/usr/share/guile/1.8' export HG='/usr/bin/hg' -export INFOPATH='/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/info' +export INFOPATH='/usr/share/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/info' export LESS='-R -M --shift 5' export LESSOPEN='|lesspipe %s' -export MANPATH='/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.4/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/man:/etc/java-config/system-vm/man/:/usr/lib64/php5.3/man/:/usr/lib64/php5.4/man/:/usr/share/postgresql/man/:/usr/share/postgresql-9.2/man/' +export MANPATH='/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.22/man:/etc/java-config-2/current-system-vm/man/:/usr/lib64/php5.3/man/:/usr/lib64/php5.4/man/:/usr/share/postgresql/man/:/usr/share/postgresql-9.2/man/' export MULTIOSDIRS='../lib64:../lib32' export OPENGL_PROFILE='xorg-x11' export PAGER='/usr/bin/less' -export PATH='/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4:/usr/lib64/subversion/bin' +export PATH='/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/lib64/subversion/bin' export PYTHONDOCS_2_7='/usr/share/doc/python-docs-2.7.2/html/library' export PYTHONDOCS_3_2='/usr/share/doc/python-docs-3.2.2/html/library' export PYTHONPATH='/usr/lib/portage/pym' -export ROOTPATH='/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.4:/usr/lib64/subversion/bin' +export ROOTPATH='/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3:/usr/lib64/subversion/bin' export XDG_CONFIG_DIRS='/etc/xdg' export XDG_DATA_DIRS='/usr/local/share:/usr/share' diff --git a/runlevels/default/udev-postmount b/runlevels/default/udev-postmount deleted file mode 120000 index 563ffe7..0000000 --- a/runlevels/default/udev-postmount +++ /dev/null @@ -1 +0,0 @@ -/etc/init.d/udev-postmount \ No newline at end of file diff --git a/udev/hwdb.bin b/udev/hwdb.bin new file mode 100644 index 0000000..69351bf Binary files /dev/null and b/udev/hwdb.bin differ diff --git a/udev/rules.d/80-net-name-slot.rules b/udev/rules.d/80-net-name-slot.rules new file mode 100644 index 0000000..7244c87 --- /dev/null +++ b/udev/rules.d/80-net-name-slot.rules @@ -0,0 +1,39 @@ +# +# Udev 197 and above has implemented predictable network interface names +# for hardware network interfaces. This new scheme does not affect +# stacked network interfaces such as bonds, bridges or vlans. +# +# This file is here to prevent your interfaces from being renamed automatically, +# because the new names will be drastically different from the eth*, wlan*, etc +# names you are used to working with. +# +# To activate this function, move this file to a name that doesn't end in.rules, +# or remove it then reboot your system. +# +# If you want to deactivate this function, install a udev rules file as +# /etc/udev/rules.d/80-net-name-slot.rules then reboot your system. +# +# This functionality has not been tested with gentoo. In fact, we are aware that +# things will break if you activate it. +# +# If you are not comfortable testing this, leave this file as is. We will +# publish a news item when you can migrate. +# +# If you do want to activate and help us come up with a migration plan, feel +# free to do so and report bugs. +# Your bugs should block the following tracker: +# https://bugs.gentoo.org/show_bug.cgi?id=450938 +# +# Before you activate this function, it is important that you fully understand +# the following documentation: +# +# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames +# +# Also, be aware that you can get the attributes of your network interface that +# would be used to name the interface in the new scheme by doing the following +# with this version of udev running: +# +# udevadm test-builtin net_id /sys/class/net/ifname 2> /dev/null +# +# for example, on my system, I can find that eth0's new name would be enp1s5. +# diff --git a/udev/udev.conf b/udev/udev.conf index f6f592e..f39253e 100644 --- a/udev/udev.conf +++ b/udev/udev.conf @@ -1,5 +1,3 @@ -# The initial syslog(3) priority: "err", "info", "debug" or its -# numerical equivalent. For runtime debugging, the daemons internal -# state can be changed with: "udevadm control --log-priority=". -udev_log="err" -# If you need to change mount-options, do it in /etc/fstab +# see udev(7) for details + +#udev_log="info"