summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-admin/augeas
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-admin/augeas')
-rw-r--r--app-admin/augeas/Manifest3
-rw-r--r--app-admin/augeas/augeas-0.10.0-r1.ebuild49
-rw-r--r--app-admin/augeas/augeas-0.10.0-r2.ebuild50
-rw-r--r--app-admin/augeas/augeas-0.10.0.ebuild43
-rw-r--r--app-admin/augeas/augeas-1.1.0.ebuild49
-rw-r--r--app-admin/augeas/augeas-1.3.0.ebuild49
-rw-r--r--app-admin/augeas/files/augeas-0.10.0-gets.patch15
-rw-r--r--app-admin/augeas/files/augeas-0.10.0-libxml2-pkgconfig.patch24
-rw-r--r--app-admin/augeas/files/augeas-0.10.0-test.patch56
-rw-r--r--app-admin/augeas/files/augeas-0.10.0-test2.patch49
-rw-r--r--app-admin/augeas/files/cve-bunch-of-them-symlink.patch76
-rw-r--r--app-admin/augeas/metadata.xml17
12 files changed, 480 insertions, 0 deletions
diff --git a/app-admin/augeas/Manifest b/app-admin/augeas/Manifest
new file mode 100644
index 000000000000..410ed9fee10b
--- /dev/null
+++ b/app-admin/augeas/Manifest
@@ -0,0 +1,3 @@
+DIST augeas-0.10.0.tar.gz 1676906 SHA256 ec111af06186216930176ebe5ecccdf7bf528528aee9acde1d5d70088484afca SHA512 4b23c69ce92971ad63cd5829044051a53b7976a7e3ccb9006282333a2dd06789e7c5da671450eb81904d237c36d449ac0924b06d9690dc7e5de4b8b40a58ec8c WHIRLPOOL 8b542cfa1bdcad3508cfd3cf25803ed27304ecdaaab4c9e7ce6ae2b7798c4cdc3d344ab4793cb2a0fd7b1b276eee20385b129d9fcf3b5b3b4596c3b0c96424cc
+DIST augeas-1.1.0.tar.gz 1940928 SHA256 9d81e4228329e2d5cccb018ab06bc8b734fb2dede2c4d9b5c02303d4a690b76b SHA512 ddb06f71993079330fc5b134ccd45476c1ab24f475b7a859c5920a7af3bd00d4dae31bf8110841ded4c4f5197e72911c298d7fcfe32d1d3e6821bca74aa67e26 WHIRLPOOL be1c83ecb1c8c7378374132bdd56be641e1200950e6e6d46e94ef35fc97be98157214b994071cf56f2aaafda29d91993c9a023ded5256c36364abbc9cbb498ca
+DIST augeas-1.3.0.tar.gz 1983656 SHA256 80763031af76515a8ea66013ddc3c466742a15d2e907c7c8e2e3b7410262e2af SHA512 92cc2cf83faa42e83621fe0f73fe9f7247d802f17da781e51d068056d20b1645de1f0ea0d5070c0d5729a3f6554d64a95e31111bf3e44b959386559619843e79 WHIRLPOOL 4e4c3374adca662ce90f94eb204028526ec0c3a9b0bc6644515994b88e289f3e1aa5f2b6ce7c28103a2a64e5185c8ba64d55e1a448e14f745d53aec4bf20e8b3
diff --git a/app-admin/augeas/augeas-0.10.0-r1.ebuild b/app-admin/augeas/augeas-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..8c56a570c5a2
--- /dev/null
+++ b/app-admin/augeas/augeas-0.10.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A library for changing configuration files"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="http://augeas.net/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha ~amd64 hppa ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="static-libs test"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=app-doc/NaturalDocs-1.40
+ test? ( dev-lang/ruby )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gets.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${P}-test2.patch
+ "${FILESDIR}"/${P}-libxml2-pkgconfig.patch
+ )
+
+src_prepare() {
+ if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Languages.txt
+ fi
+ if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Topics.txt
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # Needs to implemented
+ local myeconfargs=( --without-selinux )
+ autotools-utils_src_configure
+}
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
diff --git a/app-admin/augeas/augeas-0.10.0-r2.ebuild b/app-admin/augeas/augeas-0.10.0-r2.ebuild
new file mode 100644
index 000000000000..9a57f0e20338
--- /dev/null
+++ b/app-admin/augeas/augeas-0.10.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A library for changing configuration files"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="http://augeas.net/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="alpha amd64 hppa ~ia64 ppc ~ppc64 sparc x86"
+IUSE="static-libs test"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=app-doc/NaturalDocs-1.40
+ test? ( dev-lang/ruby )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gets.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${P}-test2.patch
+ "${FILESDIR}"/${P}-libxml2-pkgconfig.patch
+ "${FILESDIR}/cve-bunch-of-them-symlink.patch"
+ )
+
+src_prepare() {
+ if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Languages.txt
+ fi
+ if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Topics.txt
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # Needs to implemented
+ local myeconfargs=( --without-selinux )
+ autotools-utils_src_configure
+}
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
diff --git a/app-admin/augeas/augeas-0.10.0.ebuild b/app-admin/augeas/augeas-0.10.0.ebuild
new file mode 100644
index 000000000000..9b837aa6b3bb
--- /dev/null
+++ b/app-admin/augeas/augeas-0.10.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+inherit eutils
+
+DESCRIPTION="A library for changing configuration files"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="http://augeas.net/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ppc ~ppc64 sparc x86"
+IUSE="static-libs test"
+
+RDEPEND="sys-libs/readline
+ dev-libs/libxml2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=app-doc/NaturalDocs-1.40
+ test? ( dev-lang/ruby )"
+
+src_prepare() {
+ if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Languages.txt
+ fi
+ if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Topics.txt
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static) || die
+}
+
+src_install() {
+ default
+
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ dodoc AUTHORS ChangeLog README NEWS
+}
diff --git a/app-admin/augeas/augeas-1.1.0.ebuild b/app-admin/augeas/augeas-1.1.0.ebuild
new file mode 100644
index 000000000000..816f66a0b543
--- /dev/null
+++ b/app-admin/augeas/augeas-1.1.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A library for changing configuration files"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="http://download.augeas.net/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="alpha amd64 hppa ia64 ppc ~ppc64 sparc x86"
+IUSE="static-libs test"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=app-doc/NaturalDocs-1.40
+ test? ( dev-lang/ruby )"
+
+#PATCHES=(
+# "${FILESDIR}"/${P}-gets.patch
+# "${FILESDIR}"/${P}-test.patch
+# "${FILESDIR}"/${P}-test2.patch
+# "${FILESDIR}"/${P}-libxml2-pkgconfig.patch
+# )
+
+src_prepare() {
+ if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Languages.txt
+ fi
+ if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Topics.txt
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # Needs to implemented
+ local myeconfargs=( --without-selinux )
+ autotools-utils_src_configure
+}
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
diff --git a/app-admin/augeas/augeas-1.3.0.ebuild b/app-admin/augeas/augeas-1.3.0.ebuild
new file mode 100644
index 000000000000..40ad36b6159c
--- /dev/null
+++ b/app-admin/augeas/augeas-1.3.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="A library for changing configuration files"
+HOMEPAGE="http://augeas.net/"
+SRC_URI="http://download.augeas.net/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2.1"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="static-libs test"
+
+RDEPEND="
+ dev-libs/libxml2
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=app-doc/NaturalDocs-1.40
+ test? ( dev-lang/ruby )"
+
+#PATCHES=(
+# "${FILESDIR}"/${P}-gets.patch
+# "${FILESDIR}"/${P}-test.patch
+# "${FILESDIR}"/${P}-test2.patch
+# "${FILESDIR}"/${P}-libxml2-pkgconfig.patch
+# )
+
+src_prepare() {
+ if [ -f /usr/share/NaturalDocs/Config/Languages.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Languages.txt
+ fi
+ if [ -f /usr/share/NaturalDocs/Config/Topics.txt ] ; then
+ addwrite /usr/share/NaturalDocs/Config/Topics.txt
+ fi
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ # Needs to implemented
+ local myeconfargs=( --without-selinux )
+ autotools-utils_src_configure
+}
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
diff --git a/app-admin/augeas/files/augeas-0.10.0-gets.patch b/app-admin/augeas/files/augeas-0.10.0-gets.patch
new file mode 100644
index 000000000000..5f754955be6c
--- /dev/null
+++ b/app-admin/augeas/files/augeas-0.10.0-gets.patch
@@ -0,0 +1,15 @@
+ gnulib/lib/stdio.in.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/gnulib/lib/stdio.in.h b/gnulib/lib/stdio.in.h
+index 9091497..fa7e3fb 100644
+--- a/gnulib/lib/stdio.in.h
++++ b/gnulib/lib/stdio.in.h
+@@ -162,7 +162,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+ #undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/app-admin/augeas/files/augeas-0.10.0-libxml2-pkgconfig.patch b/app-admin/augeas/files/augeas-0.10.0-libxml2-pkgconfig.patch
new file mode 100644
index 000000000000..aaa418670154
--- /dev/null
+++ b/app-admin/augeas/files/augeas-0.10.0-libxml2-pkgconfig.patch
@@ -0,0 +1,24 @@
+From b41deef293841da50a236023bad486ea3f57e4dc Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones@redhat.com>
+Date: Sat, 3 Dec 2011 14:21:50 +0000
+Subject: [PATCH] pkg-config: Augeas requires libxml2.
+
+---
+ augeas.pc.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/augeas.pc.in b/augeas.pc.in
+index c97847d..9e166db 100644
+--- a/augeas.pc.in
++++ b/augeas.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: augeas
+ Version: @VERSION@
+ Description: Augeas configuration editing library
+-Requires:
++Requires.private: libxml-2.0
+ Libs: -L${libdir} -laugeas @LIBS@
+ Cflags: -I${includedir}
+--
+1.7.6
+
diff --git a/app-admin/augeas/files/augeas-0.10.0-test.patch b/app-admin/augeas/files/augeas-0.10.0-test.patch
new file mode 100644
index 000000000000..e2630014f29a
--- /dev/null
+++ b/app-admin/augeas/files/augeas-0.10.0-test.patch
@@ -0,0 +1,56 @@
+From 075f8d35497fb36d9193e5364c055049c66fa5eb Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lubo.rintel@gooddata.com>
+Date: Mon, 9 Jan 2012 18:52:11 +0100
+Subject: [PATCH 1/2] Allow JSON number literals to be followed by whitespace
+
+Add a test case.
+
+Fixes https://fedorahosted.org/augeas/ticket/247
+---
+ AUTHORS | 1 +
+ lenses/json.aug | 2 +-
+ lenses/tests/test_json.aug | 3 +++
+ 3 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index df63f95..e7870f2 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -44,6 +44,7 @@ Contributions by:
+ Bill Pemberton <wfp5p@virginia.edu>
+ Alan Pevec <apevec@redhat.com>
+ Robin Lee Powell <rlpowell@digitalkingdom.org>
++ Lubomir Rintel <lubo.rintel@gooddata.com>
+ Roman Rakus <rrakus@redhat.com>
+ Satoru SATOH <satoru.satoh@gmail.com>
+ Nicolas Valcárcel Scerpella <nvalcarcel@ubuntu.com>
+diff --git a/lenses/json.aug b/lenses/json.aug
+index c22ad90..6ceab09 100644
+--- a/lenses/json.aug
++++ b/lenses/json.aug
+@@ -29,7 +29,7 @@ let str_store =
+ let q = del "\"" "\"" in
+ q . store /[^"]*/ . q . ws (* " Emacs, relax *)
+
+-let number = [ label "number" . store /-?[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?/ ]
++let number = [ label "number" . store /-?[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?/ . ws ]
+ let str = [ label "string" . str_store ]
+
+ let const (r:regexp) = [ label "const" . store r . ws ]
+diff --git a/lenses/tests/test_json.aug b/lenses/tests/test_json.aug
+index 0bcd25d..d8b7fa8 100644
+--- a/lenses/tests/test_json.aug
++++ b/lenses/tests/test_json.aug
+@@ -8,6 +8,9 @@ test lns get "true" = { "const" = "true" }
+
+ test lns get "3.141" = { "number" = "3.141" }
+
++test lns get "{ \"key\" : 666 }" =
++ { "dict" { "entry" = "key" { "number" = "666" } } }
++
+ test lns get "[true, 0, \"yo\"]" =
+ { "array" { "const" = "true" } { "number" = "0" } { "string" = "yo" } }
+
+--
+1.7.7.5
+
diff --git a/app-admin/augeas/files/augeas-0.10.0-test2.patch b/app-admin/augeas/files/augeas-0.10.0-test2.patch
new file mode 100644
index 000000000000..743ccfdce1fc
--- /dev/null
+++ b/app-admin/augeas/files/augeas-0.10.0-test2.patch
@@ -0,0 +1,49 @@
+From 100a7b38222a63c6435a72b4974b55f39a28989e Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lubo.rintel@gooddata.com>
+Date: Mon, 9 Jan 2012 19:24:41 +0100
+Subject: [PATCH 2/2] Correctly parse empty object and arrays in JSON
+
+Add a test case.
+Fix from David Lutterkort <lutter@redhat.com>.
+
+https://fedorahosted.org/augeas/ticket/248
+---
+ lenses/json.aug | 4 ++--
+ lenses/tests/test_json.aug | 5 +++++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/lenses/json.aug b/lenses/json.aug
+index 6ceab09..2645806 100644
+--- a/lenses/json.aug
++++ b/lenses/json.aug
+@@ -37,9 +37,9 @@ let const (r:regexp) = [ label "const" . store r . ws ]
+ let value0 = str | number | const /true|false|null/
+
+ let fix_value (value:lens) =
+- let array = [ label "array" . lbrack . Build.opt_list value comma . rbrack ] in
++ let array = [ label "array" . lbrack . (Build.opt_list value comma)? . rbrack ] in
+ let pair = [ label "entry" . str_store . colon . value ] in
+- let obj = [ label "dict" . lbrace . Build.opt_list pair comma . rbrace ] in
++ let obj = [ label "dict" . lbrace . (Build.opt_list pair comma)? . rbrace ] in
+ (str | number | obj | array | const /true|false|null/)
+
+ (* Typecheck finitely deep nesting *)
+diff --git a/lenses/tests/test_json.aug b/lenses/tests/test_json.aug
+index d8b7fa8..aec7d4c 100644
+--- a/lenses/tests/test_json.aug
++++ b/lenses/tests/test_json.aug
+@@ -30,6 +30,11 @@ test lns get "{ \"0\": true, \"1\":false }" =
+ test lns get "{\"menu\": \"entry one\"}" =
+ { "dict" { "entry" = "menu" { "string" = "entry one" } } }
+
++test lns get "[ ]" =
++ { "array" }
++
++test lns get "{}" =
++ { "dict" }
+
+ let s = "{\"menu\": {
+ \"id\": \"file\",
+--
+1.7.7.5
+
diff --git a/app-admin/augeas/files/cve-bunch-of-them-symlink.patch b/app-admin/augeas/files/cve-bunch-of-them-symlink.patch
new file mode 100644
index 000000000000..3bd1d95ae42d
--- /dev/null
+++ b/app-admin/augeas/files/cve-bunch-of-them-symlink.patch
@@ -0,0 +1,76 @@
+From 051c73a9a7ffe9e525f6f0a1b8f5198ff8cc6752 Mon Sep 17 00:00:00 2001
+From: Dominic Cleal <dcleal@redhat.com>
+Date: Sat, 11 Aug 2012 20:39:14 +0100
+Subject: [PATCH] Fix regression in permissions of created files
+
+Commit 16387744 changed temporary file creation to use mkstemp, resulting in
+new files being created with 0600 permissions. For brand new files created
+through Augeas, their permissions stayed at 0600 rather than being set by the
+umask as before.
+
+ * src/transform.c (transform_save): chmod after creating new files to
+ permissions implied by the umask
+---
+ src/transform.c | 10 ++++++++++
+ tests/test-preserve.sh | 15 ++++++++++++++-
+ 2 files changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/src/transform.c b/src/transform.c
+index a3acd10..1ca3d5f 100644
+--- a/src/transform.c
++++ b/src/transform.c
+@@ -1096,6 +1096,16 @@ int transform_save(struct augeas *aug, struct tree *xfm,
+ err_status = "xfer_attrs";
+ goto done;
+ }
++ } else {
++ /* Since mkstemp is used, the temp file will have secure permissions
++ * instead of those implied by umask, so change them for new files */
++ mode_t curumsk = umask(022);
++ umask(curumsk);
++
++ if (fchmod(fileno(fp), 0666 - curumsk) < 0) {
++ err_status = "create_chmod";
++ return -1;
++ }
+ }
+
+ if (tree != NULL)
+diff --git a/tests/test-preserve.sh b/tests/test-preserve.sh
+index 042dab9..9719ac6 100755
+--- a/tests/test-preserve.sh
++++ b/tests/test-preserve.sh
+@@ -59,9 +59,12 @@ if [ $selinux = yes -a xetc_t != "x$act_con" ] ; then
+ exit 1
+ fi
+
+-# Check that we create new files without error
++# Check that we create new files without error and with permissions implied
++# from the umask
+ init_dirs
+
++oldumask=$(umask)
++umask 0002
+ $AUGTOOL > /dev/null <<EOF
+ set /files/etc/hosts/1/ipaddr 127.0.0.1
+ set /files/etc/hosts/1/canonical host.example.com
+@@ -71,6 +74,16 @@ if [ $? != 0 ] ; then
+ echo "augtool failed on new file"
+ exit 1
+ fi
++if [ ! -e $hosts ]; then
++ echo "augtool didn't create new /etc/hosts file"
++ exit 1
++fi
++act_mode=$(ls -l $hosts | cut -b 1-10)
++if [ x-rw-rw-r-- != "x$act_mode" ] ; then
++ echo "Expected mode 0664 due to $(umask) umask but got $act_mode"
++ exit 1
++fi
++umask $oldumask
+
+ # Check that we create new files without error when backups are requested
+ init_dirs
+--
+1.8.5.1
+
diff --git a/app-admin/augeas/metadata.xml b/app-admin/augeas/metadata.xml
new file mode 100644
index 000000000000..ffb39ba605d4
--- /dev/null
+++ b/app-admin/augeas/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>prometheanfire@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+A library for programmatically editing configuration files. Augeas parses
+configuration files into a tree structure, which it exposes through its
+public API. Changes made through the API are written back to the initially
+read files.
+
+The transformation works very hard to preserve comments and formatting
+details. It is controlled by ``lens'' definitions that describe the file
+format and the transformation into a tree.
+</longdescription>
+</pkgmetadata>