summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/portage/Manifest16
-rw-r--r--sys-apps/portage/files/2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch39
-rw-r--r--sys-apps/portage/files/README.RESCUE2
-rw-r--r--sys-apps/portage/files/portage-2.3.0-ldconfig-path.patch34
-rw-r--r--sys-apps/portage/files/portage-2.3.0-prefix-path-only.patch44
-rw-r--r--sys-apps/portage/files/portage-2.3.0_rc1.patch52
-rw-r--r--sys-apps/portage/metadata.xml20
-rw-r--r--sys-apps/portage/portage-2.3.0.ebuild364
-rw-r--r--sys-apps/portage/portage-2.3.0_rc1-r1.ebuild368
-rw-r--r--sys-apps/portage/portage-2.3.1.ebuild367
-rw-r--r--sys-apps/portage/portage-2.3.2.ebuild366
-rw-r--r--sys-apps/portage/portage-2.3.3.ebuild369
12 files changed, 0 insertions, 2041 deletions
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
deleted file mode 100644
index c87cf88..0000000
--- a/sys-apps/portage/Manifest
+++ /dev/null
@@ -1,16 +0,0 @@
-AUX 2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch 1394 SHA256 a076b70b775aef23e89127d2fc64065f2d7a895b3b56a723122f641375b7c3d3 SHA512 fb3488ec9c5a849bdc9ae2cfaed3732c939072cd847534fdeaaff28560b62ad5b184f15bfb6943b921f417ec7de8e1fd3845322a0ba4d3e55f625a12cf903dcd WHIRLPOOL ddf6cd307f063404f53e9e819b01965b053df7554790d1332a5d131c11e5e6eec466412c17c4d8b3dd124ab81797641001ec3bbcfadd7ff06f5e59b2f40dc7d2
-AUX README.RESCUE 137 SHA256 69bea0c755eab59b6b4d90838b8551744f0b0c8eeac170b1cd13a71ee83f9ac4 SHA512 dba0f0d6d4cd140e636cc70dfb7bdb298e2f2fb040bc07b0874cac994bdbabd26bfd9361d85a0f8b9a92a185281e4901606b9e4f563afdc8867341bbe6af1cb0 WHIRLPOOL 713fcc790442999d56e13efaf536fec9954dadeda680b3642d0358311332096ddedf8b55697bd1ca620d84f0dc7d025ff7931e086c74c1f5032be72dca2ff8f5
-AUX portage-2.3.0-ldconfig-path.patch 1311 SHA256 7cd9acd6c1cd2a304348819a7232abe4a71473769a94ef1af9d8a956c81749ac SHA512 22ada6f4d39bdd35ffbc5e248f6ca490af8f84eb471d44bc39c8a517e61a1d04071fd1bbf3f78aed92f2c8b61ddc1465f4ccfb298dcce24ee1808d48b83c3d16 WHIRLPOOL 0023fafb781932e484278017cbf72637eed91f83673c34d5094d4c65cf981ba16d5c7c3b10879e4013fc83a8f941a99acd5d71b40673b4372f689de5a3d2e2ac
-AUX portage-2.3.0-prefix-path-only.patch 1725 SHA256 1d087d0855c3f68fce817d31192209f4fe271f5bbf98030ab72621671cd4529e SHA512 408fcc71ca0dc0b8cdc99aff29c8c94e22ab1205257cc6a48e439abb0b34ddc4366f093d46719899c6c9a52075e2a72db31a28f13ca9aace45b9350266c609db WHIRLPOOL e3c2e1e27496c41d9b84188f2692f6f91b18b9317097ffe517515687a853e0c01f93fe5ec4059177892ead2bf851f9eb68c2a23905f081f13193032d5c8bf535
-AUX portage-2.3.0_rc1.patch 2278 SHA256 5c10f7bf71250a87576bf81635a765e6fdfdaa7882fe7e1949c736ae1472c2d6 SHA512 0e26adc69b3b716c7435d54a2ed4252045cb24e7891eed5d88514e6066ee4b1fc32ba89d63dc63e2341456110bc7def0bf1a49c1cb3cb53c0d9092bb251f9151 WHIRLPOOL 3964864f80131293283aa79ef1e87e5975e2543e456515c00cf6bd38905c2502539b9698634a44123db9e8ab3c566645b5424c29390a0f47ae7df62431355928
-DIST portage-2.3.0.tar.bz2 907500 SHA256 1fbed03f78587c80f5afd36b57d7ac085ed5e5b2cc19fea63fc8a43a477e4067 SHA512 85d15a234e446677dc3458de8dacaa0d91164b190c59f8002ff98dc27a9ad699cba6c4f871ac785ba6116ed53f1f3530ec3ed662ce7f4b3e8c49380b4b206074 WHIRLPOOL 979a7fc61a65dca790a077d4839fbbb22fc8ef31ccbe534b12b87c699a25a1930586dd6ddfb9013d57a71c03ed8d976612ea15e9dc3541aff0b67e3d604a5be2
-DIST portage-2.3.0_rc1.tar.bz2 910204 SHA256 52cf0837975c4b2a8e1d3d18e3334a735b14e4ebdbdca8992548b86c1d5bebd1 SHA512 d7a5ce8800668606a2e3549621686bb8bb30bd2f5d7a57b106efc1c58d34b95cef4605f5067824db0beb6f870c9e81cb3fdb5c074e9e64bef40a9df6f524ad13 WHIRLPOOL c4c86fe20606e93ecf4d125f436077ec4d15cb453c98e83894a8383f1654a9b294107c9c04bb3019f66a643ff42c333060319d59dda47c323e9711723c3b9cfe
-DIST portage-2.3.1.tar.bz2 918411 SHA256 a3c5ee98791c579687ad5ec6a7882a6b6a486a54c14d1bc73ccc9a79b4a507e9 SHA512 75a713cfa077ac271ad7fad0a48bbc923beedd2ec47000602576297fabae2de47ee69e7e6d52e02c87f9ba5d9e5b27c10fa9be7b308f72c6dcc8e7f6c321f2c6 WHIRLPOOL 4ee7942d73e8e5b977d0260b568d31d0b49387787f7ffa2e77d4ec49e00b3e67c54506840be463cb5a6da070683013192f46bb47df1df1a328457de1796d05c0
-DIST portage-2.3.2.tar.bz2 919270 SHA256 724a9924209c5da5e7ba7f19812db0675bb3b4309f911e37da8c35bbc3fede67 SHA512 bee95d0308a613083a28b05e5276bc3c4eb5841e17985e3c943a92bc5b9a659eb18ae822219d26da80144febf47b5ad30766536f820162812549f0bc83975bec WHIRLPOOL 0836aac5d9e331d896053160d8e829f997697f83bd3dbe4f14b924b9aa7c41a7c53e48e4ea5873fba05d4d23d715b310e92a10fed348b7ad55afbde149864f20
-DIST portage-2.3.3.tar.bz2 920984 SHA256 beec3923e14fb98d9992ede0b7718df594c50f366c3e58c2f0ba10102e77271f SHA512 7dec90a980ce6bb1266bb9c9c9979bc6cb8bdb4f37d8908c78cddf053979aef44424be86ea1fe16a072f6ed21b26233df84f6dd22d6f0c9435816090c675b53c WHIRLPOOL cc4a7e63b797766cc99ab712902b96e38fe22a482d7eeb3e29843a6070f6601b8bbe9c435b0a9c3cc1947e49c23291f1064f3d01c010d822dcb2686a103b4c3d
-EBUILD portage-2.3.0.ebuild 11517 SHA256 16b10e751c98dc45735697b50a4df638ccce75745f2a04004dbc5c0897d4b0ed SHA512 bc44fd3cdab534b513fc00a6c27a06f42a9448c53008a470c976f2b520b0f606ec14f532eeff1c3740abd520a09bf886b005ec427a730bfbd1086093b4b7a6c3 WHIRLPOOL 068f283095fbe0bc417fd2856cc30be867001708e8d9b8daaa3a1027995bc0a2ef2ab7a9fa6bcc3fb892628e597fb55e1bc5a3795d609650c5c98b1c30d56e91
-EBUILD portage-2.3.0_rc1-r1.ebuild 11651 SHA256 2ad29bbb196cf1aee3101e40d18b81537371358327614c1752e427ee713801fe SHA512 b289f6fb24e159ad99248438739607d5e670b1c3d5353d64708e4751961e249d81a9fabf7fe3fc274533982aeca96c091f5cb2787af7a6030d18b313d3172728 WHIRLPOOL 77b92fbecfc492aef0edeffc1742dc839bbe21fae0b6308c9f91bb96909b17d97933c15b2cacf7ec746847c63a376c280ecb28b293e7e1876df657ed3b4841b0
-EBUILD portage-2.3.1.ebuild 11594 SHA256 8551819a28d41a6fb7e291e37bf9289efa329dc0addb21b7a729cbabdd96aa65 SHA512 c864bf3a6a916a9865738de504dfeef82ffe48177c1635b7a6dd4e3dcec3e78daa33be5ff6fb6edc15e5e91b8551046ff0a318579ee60f40fc1d96ad1614619a WHIRLPOOL 46a0652cf699e0c3435a7a8ba3c09705ea53b030f501bfec267a0f4020c908817e35c05b5d278791657739892f7b6e078c48107a5f1a6d05dde78b5e4f4d6eb3
-EBUILD portage-2.3.2.ebuild 11529 SHA256 cce0948c655eed88b0e3e0e9dc283cb05a47c778440cd4b576796a680cb84a52 SHA512 791ce4506b24ced68dd0d09cf5cf9a1fac08b11b6b3b1dfd13831c2b2276db7d701c08b03771732e59b710c7bbd2b5cb0d92942c81123d3dfc070716ab4fefdf WHIRLPOOL b528eee31f6721e680739db5486afbf6982d01329611cc402f048ceffbae6ac550def47ce378608fdbcf7ff8c781ad00cb249bfae7c97f1d60313dc91eb5bd6a
-EBUILD portage-2.3.3.ebuild 11722 SHA256 fd2c2aaccee660e0848ceedb6d29b9a72fa32e29bb0b86a74374232e02d47f19 SHA512 60d1d6ac07fb20be233c1709e03b49d557388563a3ee7f58a9fe313ddf7c7de6bcc8ebdf98a40d0088ad087a9d9359ad03563b826f4628a4e2cc6779668bfdf0 WHIRLPOOL 64a9af3696a3c601ef7a72e5c6055bbc821e07e7be892047b94da5c8008e40acb13510ab34711d651aebf77e6741005ee32c2e67be5b1d27759700662d8cfa0e
-MISC metadata.xml 1017 SHA256 78bf0d7e87b917ab6eb9c43835c9c688dc3c5ab0a1043608448e12e6bad715bc SHA512 40315f8375409a6e8b86b2d11dc33b28a019911348d66f05fdd1194a4f0859f3f2ebf9c6922b795194669d992901c1fdda4cd147100979a7f661915c4094fd35 WHIRLPOOL c2817f5c0005da6f1bf0ecb8d1bde9a6b9379e3022b9e456ee5e932974493a0454166e0113092aae7de2725b0718b3cd10e05ba25012b321644403ab0677c166
diff --git a/sys-apps/portage/files/2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch b/sys-apps/portage/files/2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch
deleted file mode 100644
index ee191ff..0000000
--- a/sys-apps/portage/files/2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 35863a80b915939aac3ce6bf017d942cac879df8 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Wed, 20 Jul 2016 12:30:05 -0400
-Subject: [PATCH] doc: Revert URI changes related to docbook schema
-
-This partially reverts b5365341dad167e314023df95d2c5e0f955962f0.
-
-X-Gentoo-Bug: 589210
-X-Gentoo-Bug-URL: https://bugs.gentoo.org/589210
----
- doc/custom.xsl | 2 +-
- doc/portage.docbook | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/doc/custom.xsl b/doc/custom.xsl
-index 11a2b9e..a7763ec 100644
---- a/doc/custom.xsl
-+++ b/doc/custom.xsl
-@@ -1,4 +1,4 @@
--<xsl:stylesheet xmlns:xsl="https://www.w3.org/1999/XSL/Transform" version="1.0">
-+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:param name="toc.section.depth" select="20"/>
- <xsl:param name="chunk.section.depth" select="2"/>
- <xsl:param name="generate.section.toc.level" select="2"/>
-diff --git a/doc/portage.docbook b/doc/portage.docbook
-index f7d539a..811544f 100644
---- a/doc/portage.docbook
-+++ b/doc/portage.docbook
-@@ -1,6 +1,6 @@
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
-- "https://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-
- <!ENTITY date SYSTEM "fragment/date">
- <!ENTITY version SYSTEM "fragment/version">
---
-2.10.0
-
diff --git a/sys-apps/portage/files/README.RESCUE b/sys-apps/portage/files/README.RESCUE
deleted file mode 100644
index 70c494e..0000000
--- a/sys-apps/portage/files/README.RESCUE
+++ /dev/null
@@ -1,2 +0,0 @@
-Please see http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
-for a recovery guide for a broken portage installation.
diff --git a/sys-apps/portage/files/portage-2.3.0-ldconfig-path.patch b/sys-apps/portage/files/portage-2.3.0-ldconfig-path.patch
deleted file mode 100644
index 335d0cd..0000000
--- a/sys-apps/portage/files/portage-2.3.0-ldconfig-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-commit c70609e72f7eef422af122543d66c595ee139719
-Author: Benda Xu <heroxbd@gentoo.org>
-Date: Mon Jun 20 09:12:35 2016 +0900
-
- let env-update call ldconfig if it exists
-
- In Prefix, let env-update call ldconfig if it exists.
-
- It does not affect prefix-rpath, and handles prefix-libc(RAP) correctly.
-
-diff --git a/pym/portage/util/env_update.py b/pym/portage/util/env_update.py
-index c0a93a8..fde2f66 100644
---- a/pym/portage/util/env_update.py
-+++ b/pym/portage/util/env_update.py
-@@ -306,13 +306,17 @@ def _env_update(makelinks, target_root, prev_mtimes, contents, env,
- if not libdir_contents_changed:
- makelinks = False
-
-- ldconfig = "/sbin/ldconfig"
- if "CHOST" in settings and "CBUILD" in settings and \
- settings["CHOST"] != settings["CBUILD"]:
- ldconfig = find_binary("%s-ldconfig" % settings["CHOST"])
-+ else:
-+ ldconfig = os.path.join(eroot, "sbin", "ldconfig")
-+
-+ if not (os.access(ldconfig, os.X_OK) and os.path.isfile(ldconfig)):
-+ ldconfig = None
-
- # Only run ldconfig as needed
-- if makelinks and ldconfig and not eprefix:
-+ if makelinks and ldconfig:
- # ldconfig has very different behaviour between FreeBSD and Linux
- if ostype == "Linux" or ostype.lower().endswith("gnu"):
- # We can't update links if we haven't cleaned other versions first, as
diff --git a/sys-apps/portage/files/portage-2.3.0-prefix-path-only.patch b/sys-apps/portage/files/portage-2.3.0-prefix-path-only.patch
deleted file mode 100644
index 378b9d8..0000000
--- a/sys-apps/portage/files/portage-2.3.0-prefix-path-only.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-commit b3e47525357322433126389533501c42cd092979
-Author: Benda Xu <heroxbd@gentoo.org>
-Date: Sat Jun 18 14:32:07 2016 +0900
-
- do not use host PATH by default and prepend EPREFIX PATH.
-
- EPREFIX could be overridden in cross-eprefix, in that case tools
- inside EPREFIX should be prioritized.
-
-diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
-index 52dbf8b..304b164 100644
---- a/pym/portage/package/ebuild/doebuild.py
-+++ b/pym/portage/package/ebuild/doebuild.py
-@@ -199,16 +199,18 @@ def _doebuild_path(settings, eapi=None):
- if portage_bin_path[0] != portage.const.PORTAGE_BIN_PATH:
- # Add a fallback path for restarting failed builds (bug 547086)
- portage_bin_path.append(portage.const.PORTAGE_BIN_PATH)
-- eprefix = portage.const.EPREFIX
- prerootpath = [x for x in settings.get("PREROOTPATH", "").split(":") if x]
- rootpath = [x for x in settings.get("ROOTPATH", "").split(":") if x]
- overrides = [x for x in settings.get(
- "__PORTAGE_TEST_PATH_OVERRIDE", "").split(":") if x]
-
- prefixes = []
-- if eprefix:
-- prefixes.append(eprefix)
-- prefixes.append("/")
-+ # tools in EPREFIX can only be executed when ROOT is /.
-+ if settings["ROOT"] == "/":
-+ prefixes.append(settings["EPREFIX"])
-+ # settings["EPREFIX"] could be overridden during cross-eprefix
-+ if portage.const.EPREFIX != settings["EPREFIX"]:
-+ prefixes.append(portage.const.EPREFIX)
-
- path = overrides
-
-@@ -232,6 +234,7 @@ def _doebuild_path(settings, eapi=None):
- path.extend(prerootpath)
-
- for prefix in prefixes:
-+ prefix = prefix if prefix else "/"
- for x in ("usr/local/sbin", "usr/local/bin", "usr/sbin", "usr/bin", "sbin", "bin"):
- path.append(os.path.join(prefix, x))
-
diff --git a/sys-apps/portage/files/portage-2.3.0_rc1.patch b/sys-apps/portage/files/portage-2.3.0_rc1.patch
deleted file mode 100644
index 8464462..0000000
--- a/sys-apps/portage/files/portage-2.3.0_rc1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 9ba1bea5e24fe839ef5bd833c3974a55d5333bf1 Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <dolsen@gentoo.org>
-Date: Mon, 16 May 2016 02:45:45 -0700
-Subject: [PATCH] portage.const.py: Remove repoman from PORTAGE_PYM_PACKAGES
-
-Decca (in IRC) got a traceback due to the missing repoman install
-
-sysresccd / # emerge -e @system
-Calculating dependencies... done!
-Traceback (most recent call last):
- File "/usr/lib/python-exec/python3.5/emerge", line 50, in <module>
- retval = emerge_main()
- File "/usr/lib64/python3.5/site-packages/_emerge/main.py", line 1185, in emerge_main
- return run_action(emerge_config)
- File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 3236, in run_action
- emerge_config.args, spinner)
- File "/usr/lib64/python3.5/site-packages/_emerge/actions.py", line 505, in action_build
- retval = mergetask.merge()
- File "/usr/lib64/python3.5/site-packages/_emerge/Scheduler.py", line 958, in merge
- rval = self._handle_self_update()
- File "/usr/lib64/python3.5/site-packages/_emerge/Scheduler.py", line 323, in _handle_self_update
- _prepare_self_update(self.settings)
- File "/usr/lib64/python3.5/site-packages/portage/package/ebuild/doebuild.py", line 2489, in _prepare_self_update
- symlinks=True)
- File "/usr/lib64/python3.5/site-packages/portage/__init__.py", line 259, in __call__
- rval = self._func(*wrapped_args, **wrapped_kwargs)
- File "/usr/lib64/python3.5/shutil.py", line 303, in copytree
- names = os.listdir(src)
-FileNotFoundError: [Errno 2] No such file or directory: b'/usr/lib64/python3.5/site-packages/repoman'
-
-Dirkjan <djc> found repoman was still included in the PORTAGE_PYM_PACKAGES which
-caused the traceback.
----
- pym/portage/const.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pym/portage/const.py b/pym/portage/const.py
-index 814d7f4..179efce 100644
---- a/pym/portage/const.py
-+++ b/pym/portage/const.py
-@@ -278,7 +278,7 @@ SUPPORTED_XPAK_EXTENSIONS = (".tbz2", ".xpak")
- TIMESTAMP_FORMAT = "%a, %d %b %Y %H:%M:%S +0000" # to be used with time.gmtime()
-
- # Top-level names of Python packages installed by Portage.
--PORTAGE_PYM_PACKAGES = ("_emerge", "portage", "repoman")
-+PORTAGE_PYM_PACKAGES = ("_emerge", "portage")
-
- RETURNCODE_POSTINST_FAILURE = 5
-
---
-2.8.2
-
diff --git a/sys-apps/portage/metadata.xml b/sys-apps/portage/metadata.xml
deleted file mode 100644
index 4d95e14..0000000
--- a/sys-apps/portage/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <upstream>
- <bugs-to>mailto:dev-portage@gentoo.org</bugs-to>
- <changelog>https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES</changelog>
- <doc>https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage</doc>
- </upstream>
- <maintainer type="project">
- <email>dev-portage@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="epydoc">Build html API documentation with epydoc.</flag>
- <flag name="ipc">Use inter-process communication between portage and running ebuilds.</flag>
- <flag name="pypy2_0">Use pypy-c2.0 as Python interpreter.</flag>
- <flag name="python2">Use python2 as Python interpreter.</flag>
- <flag name="python3">Use python3 as Python interpreter.</flag>
- <flag name="xattr">Preserve extended attributes (filesystem-stored metadata) when installing files. Usually only required for hardened systems.</flag>
- </use>
-</pkgmetadata>
diff --git a/sys-apps/portage/portage-2.3.0.ebuild b/sys-apps/portage/portage-2.3.0.ebuild
deleted file mode 100644
index e4f475c..0000000
--- a/sys-apps/portage/portage-2.3.0.ebuild
+++ /dev/null
@@ -1,364 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=(
- pypy
- python3_3 python3_4 python3_5
- python2_7
-)
-PYTHON_REQ_USE='bzip2(+)'
-
-inherit distutils-r1 multilib
-
-DESCRIPTION="Portage is the package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
-
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- >=sys-apps/sed-4.0.5 sys-devel/patch
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
- epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
-# Require sandbox-2.2 for bug #288863.
-# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
-# quite slow, so it's not considered in the dependencies as an alternative to
-# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
-# for now, don't pull in xattr deps for other kernels.
-# For whirlpool hash, require python[ssl] (bug #425046).
-# For compgen, require bash[readline] (bug #445576).
-RDEPEND="
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- !build? (
- >=sys-apps/sed-4.0.5
- app-shells/bash:0[readline]
- >=app-admin/eselect-1.2
- )
- elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
- >=app-misc/pax-utils-0.1.17
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
- python2_7 pypy)
- ) )
- !<app-admin/logrotate-3.8.0"
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- userland_GNU? ( >=sys-apps/coreutils-6.4 )
- )"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-
-REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
-
-SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
-
-prefix_src_archives() {
- local x y
- for x in ${@}; do
- for y in ${SRC_ARCHIVES}; do
- echo ${y}/${x}
- done
- done
-}
-
-TARBALL_PV=${PV}
-SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
- $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.3.0-ldconfig-path.patch
- "${FILESDIR}"/${PN}-2.3.0-prefix-path-only.patch )
-
-pkg_setup() {
- use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use ipc ; then
- einfo "Disabling ipc..."
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
- -i pym/_emerge/AbstractEbuildProcess.py || \
- die "failed to patch AbstractEbuildProcess.py"
- fi
-
- if use xattr && use kernel_linux ; then
- einfo "Adding FEATURES=xattr to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- if [[ -n ${EPREFIX} ]] ; then
- einfo "Setting portage.const.EPREFIX ..."
- sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
- -i pym/portage/const.py || \
- die "Failed to patch portage.const.EPREFIX"
-
- einfo "Prefixing shebangs ..."
- while read -r -d $'\0' ; do
- local shebang=$(head -n1 "$REPLY")
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
- die "sed failed"
- fi
- done < <(find . -type f -print0)
-
- einfo "Adjusting make.globals ..."
- sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
- -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
- -i cnf/make.globals || die "sed failed"
-
- einfo "Adjusting repos.conf ..."
- sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
- -i cnf/repos.conf || die "sed failed"
-
- einfo "Adding FEATURES=force-prefix to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- cd "${S}/cnf" || die
- if [ -f "make.conf.example.${ARCH}".diff ]; then
- patch make.conf.example "make.conf.example.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- fi
-}
-
-python_compile_all() {
- local targets=()
- use doc && targets+=( docbook )
- use epydoc && targets+=( epydoc )
-
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-}
-
-python_test() {
- esetup.py test
-}
-
-python_install() {
- # Install sbin scripts to bindir for python-exec linking
- # they will be relocated in pkg_preinst()
- distutils-r1_python_install \
- --system-prefix="${EPREFIX}/usr" \
- --bindir="$(python_get_scriptdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
- --sbindir="$(python_get_scriptdir)" \
- --sysconfdir="${EPREFIX}/etc" \
- "${@}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local targets=()
- use doc && targets+=( install_docbook )
- use epydoc && targets+=( install_epydoc )
-
- # install docs
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-
- # Due to distutils/python-exec limitations
- # these must be installed to /usr/bin.
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
- einfo "Moving admin scripts to the correct directory"
- dodir /usr/sbin
- for target in ${sbin_relocations}; do
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
- mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
- done
-}
-
-pkg_preinst() {
- # comment out sanity test until it is fixed to work
- # with the new PORTAGE_PYM_PATH
- #if [[ $ROOT == / ]] ; then
- ## Run some minimal tests as a sanity check.
- #local test_runner=$(find "${ED}" -name runTests)
- #if [[ -n $test_runner && -x $test_runner ]] ; then
- #einfo "Running preinst sanity tests..."
- #"$test_runner" || die "preinst sanity tests failed"
- #fi
- #fi
-
- # elog dir must exist to avoid logrotate error for bug #415911.
- # This code runs in preinst in order to bypass the mapping of
- # portage:portage to root:root which happens after src_install.
- keepdir /var/log/portage/elog
- # This is allowed to fail if the user/group are invalid for prefix users.
- if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
- chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
- fi
-
- if has_version "<${CATEGORY}/${PN}-2.1.13" || \
- {
- has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
- has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
- } ; then
- USERPRIV_UPGRADE=true
- USERSYNC_UPGRADE=true
- REPOS_CONF_UPGRADE=true
- REPOS_CONF_SYNC=
- type -P portageq >/dev/null 2>&1 && \
- REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
- else
- USERPRIV_UPGRADE=false
- USERSYNC_UPGRADE=false
- REPOS_CONF_UPGRADE=false
- fi
-}
-
-get_ownership() {
- case ${USERLAND} in
- BSD)
- stat -f '%Su:%Sg' "${1}"
- ;;
- *)
- stat -c '%U:%G' "${1}"
- ;;
- esac
-}
-
-new_config_protect() {
- # Generate a ._cfg file even if the target file
- # does not exist, ensuring that the user will
- # notice the config change.
- local basename=${1##*/}
- local dirname=${1%/*}
- local i=0
- while true ; do
- local filename=$(
- echo -n "${dirname}/._cfg"
- printf "%04d" ${i}
- echo -n "_${basename}"
- )
- [[ -e ${filename} ]] || break
- (( i++ ))
- done
- echo "${filename}"
-}
-
-pkg_postinst() {
-
- if ${REPOS_CONF_UPGRADE} ; then
- einfo "Generating repos.conf"
- local repo_name=
- [[ -f ${PORTDIR}/profiles/repo_name ]] && \
- repo_name=$(< "${PORTDIR}/profiles/repo_name")
- if [[ -z ${REPOS_CONF_SYNC} ]] ; then
- REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
- fi
- local sync_type=
- [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
-
- if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
- sync_type=cvs
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
- fi
-
- cat <<-EOF > "${T}/repos.conf"
- [DEFAULT]
- main-repo = ${repo_name:-gentoo}
-
- [${repo_name:-gentoo}]
- location = ${PORTDIR:-${EPREFIX}/usr/portage}
- sync-type = ${sync_type:-rsync}
- sync-uri = ${REPOS_CONF_SYNC}
- EOF
-
- [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
-
- local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
- if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
- dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
- fi
- # Don't install the config update if the desired repos.conf directory
- # and config file exist, since users may accept it blindly and break
- # their config (bug #478726).
- [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
- mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
-
- if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
- einfo "Generating make.conf PORTDIR setting for backward compatibility"
- for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
- [[ -e ${dest} ]] && break
- done
- [[ -d ${dest} ]] && dest=${dest}/portdir.conf
- rm -rf "${T}/make.conf"
- [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
- cat <<-EOF >> "${T}/make.conf"
-
- # Set PORTDIR for backward compatibility with various tools:
- # gentoo-bashcomp - bug #478444
- # euse - bug #474574
- # euses and ufed - bug #478318
- PORTDIR="${EPREFIX}/usr/portage"
- EOF
- mkdir -p "${dest%/*}"
- mv "${T}/make.conf" "$(new_config_protect "${dest}")"
- fi
- fi
-
- local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
-
- if ${USERSYNC_UPGRADE} && \
- [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
- local ownership=$(get_ownership "${PORTDIR}")
- if [[ -n ${ownership} ]] ; then
- einfo "Adjusting PORTDIR permissions for usersync"
- find "${PORTDIR}" -path "${distdir%/}" -prune -o \
- ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
- -exec chown "${ownership}" {} +
- fi
- fi
-
- # Do this last, since it could take a long time if there
- # are lots of live sources, and the user may be tempted
- # to kill emerge while it is running.
- if ${USERPRIV_UPGRADE} && \
- [[ -d ${distdir} && -w ${distdir} ]] ; then
- local ownership=$(get_ownership "${distdir}")
- if [[ ${ownership#*:} == portage ]] ; then
- einfo "Adjusting DISTDIR permissions for userpriv"
- find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
- -exec chown -R portage:portage {} +
- fi
- fi
-
- einfo ""
- einfo "This release of portage NO LONGER contains the repoman code base."
- einfo "Repoman has its own ebuild and release package."
- einfo "For repoman functionality please emerge app-portage/repoman"
- einfo "Please report any bugs you may encounter."
- einfo ""
-}
diff --git a/sys-apps/portage/portage-2.3.0_rc1-r1.ebuild b/sys-apps/portage/portage-2.3.0_rc1-r1.ebuild
deleted file mode 100644
index 51bca3f..0000000
--- a/sys-apps/portage/portage-2.3.0_rc1-r1.ebuild
+++ /dev/null
@@ -1,368 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=(
- pypy
- python3_3 python3_4 python3_5
- python2_7
-)
-PYTHON_REQ_USE='bzip2(+)'
-
-inherit distutils-r1 multilib
-
-DESCRIPTION="Portage is the package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
-
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- >=sys-apps/sed-4.0.5 sys-devel/patch
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
- epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
-# Require sandbox-2.2 for bug #288863.
-# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
-# quite slow, so it's not considered in the dependencies as an alternative to
-# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
-# for now, don't pull in xattr deps for other kernels.
-# For whirlpool hash, require python[ssl] (bug #425046).
-# For compgen, require bash[readline] (bug #445576).
-RDEPEND="
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- !build? (
- >=sys-apps/sed-4.0.5
- app-shells/bash:0[readline]
- >=app-admin/eselect-1.2
- )
- elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
- >=app-misc/pax-utils-0.1.17
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
- python2_7 pypy)
- ) )
- !<app-admin/logrotate-3.8.0"
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- userland_GNU? ( >=sys-apps/coreutils-6.4 )
- )"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-
-REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
-
-SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
-
-prefix_src_archives() {
- local x y
- for x in ${@}; do
- for y in ${SRC_ARCHIVES}; do
- echo ${y}/${x}
- done
- done
-}
-
-TARBALL_PV=${PV}
-SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
- $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
-
-PATCHES=("${FILESDIR}/portage-2.3.0_rc1.patch"
- "${FILESDIR}"/${PN}-2.2.28-distcc-eprefix.patch
- "${FILESDIR}"/${PN}-2.3.0-scanelf-path.patch
- "${FILESDIR}"/${PN}-2.3.0-prefix-path-only.patch
- "${FILESDIR}"/${PN}-2.3.0-ldconfig-path.patch
-)
-
-pkg_setup() {
- use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use ipc ; then
- einfo "Disabling ipc..."
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
- -i pym/_emerge/AbstractEbuildProcess.py || \
- die "failed to patch AbstractEbuildProcess.py"
- fi
-
- if use xattr && use kernel_linux ; then
- einfo "Adding FEATURES=xattr to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- if [[ -n ${EPREFIX} ]] ; then
- einfo "Setting portage.const.EPREFIX ..."
- sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
- -i pym/portage/const.py || \
- die "Failed to patch portage.const.EPREFIX"
-
- einfo "Prefixing shebangs ..."
- while read -r -d $'\0' ; do
- local shebang=$(head -n1 "$REPLY")
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
- die "sed failed"
- fi
- done < <(find . -type f -print0)
-
- einfo "Adjusting make.globals ..."
- sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
- -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
- -i cnf/make.globals || die "sed failed"
-
- einfo "Adjusting repos.conf ..."
- sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
- -i cnf/repos.conf || die "sed failed"
-
- einfo "Adding FEATURES=force-prefix to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- cd "${S}/cnf" || die
- if [ -f "make.conf.example.${ARCH}".diff ]; then
- patch make.conf.example "make.conf.example.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- fi
-}
-
-python_compile_all() {
- local targets=()
- use doc && targets+=( docbook )
- use epydoc && targets+=( epydoc )
-
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-}
-
-python_test() {
- esetup.py test
-}
-
-python_install() {
- # Install sbin scripts to bindir for python-exec linking
- # they will be relocated in pkg_preinst()
- distutils-r1_python_install \
- --system-prefix="${EPREFIX}/usr" \
- --bindir="$(python_get_scriptdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
- --sbindir="$(python_get_scriptdir)" \
- --sysconfdir="${EPREFIX}/etc" \
- "${@}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local targets=()
- use doc && targets+=( install_docbook )
- use epydoc && targets+=( install_epydoc )
-
- # install docs
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-
- # Due to distutils/python-exec limitations
- # these must be installed to /usr/bin.
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
- einfo "Moving admin scripts to the correct directory"
- dodir /usr/sbin
- for target in ${sbin_relocations}; do
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
- mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
- done
-}
-
-pkg_preinst() {
- # comment out sanity test until it is fixed to work
- # with the new PORTAGE_PYM_PATH
- #if [[ $ROOT == / ]] ; then
- ## Run some minimal tests as a sanity check.
- #local test_runner=$(find "${ED}" -name runTests)
- #if [[ -n $test_runner && -x $test_runner ]] ; then
- #einfo "Running preinst sanity tests..."
- #"$test_runner" || die "preinst sanity tests failed"
- #fi
- #fi
-
- # elog dir must exist to avoid logrotate error for bug #415911.
- # This code runs in preinst in order to bypass the mapping of
- # portage:portage to root:root which happens after src_install.
- keepdir /var/log/portage/elog
- # This is allowed to fail if the user/group are invalid for prefix users.
- if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
- chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
- fi
-
- if has_version "<${CATEGORY}/${PN}-2.1.13" || \
- {
- has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
- has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
- } ; then
- USERPRIV_UPGRADE=true
- USERSYNC_UPGRADE=true
- REPOS_CONF_UPGRADE=true
- REPOS_CONF_SYNC=
- type -P portageq >/dev/null 2>&1 && \
- REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
- else
- USERPRIV_UPGRADE=false
- USERSYNC_UPGRADE=false
- REPOS_CONF_UPGRADE=false
- fi
-}
-
-get_ownership() {
- case ${USERLAND} in
- BSD)
- stat -f '%Su:%Sg' "${1}"
- ;;
- *)
- stat -c '%U:%G' "${1}"
- ;;
- esac
-}
-
-new_config_protect() {
- # Generate a ._cfg file even if the target file
- # does not exist, ensuring that the user will
- # notice the config change.
- local basename=${1##*/}
- local dirname=${1%/*}
- local i=0
- while true ; do
- local filename=$(
- echo -n "${dirname}/._cfg"
- printf "%04d" ${i}
- echo -n "_${basename}"
- )
- [[ -e ${filename} ]] || break
- (( i++ ))
- done
- echo "${filename}"
-}
-
-pkg_postinst() {
-
- if ${REPOS_CONF_UPGRADE} ; then
- einfo "Generating repos.conf"
- local repo_name=
- [[ -f ${PORTDIR}/profiles/repo_name ]] && \
- repo_name=$(< "${PORTDIR}/profiles/repo_name")
- if [[ -z ${REPOS_CONF_SYNC} ]] ; then
- REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
- fi
- local sync_type=
- [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
-
- if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
- sync_type=cvs
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
- fi
-
- cat <<-EOF > "${T}/repos.conf"
- [DEFAULT]
- main-repo = ${repo_name:-gentoo}
-
- [${repo_name:-gentoo}]
- location = ${PORTDIR:-${EPREFIX}/usr/portage}
- sync-type = ${sync_type:-rsync}
- sync-uri = ${REPOS_CONF_SYNC}
- EOF
-
- [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
-
- local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
- if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
- dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
- fi
- # Don't install the config update if the desired repos.conf directory
- # and config file exist, since users may accept it blindly and break
- # their config (bug #478726).
- [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
- mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
-
- if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
- einfo "Generating make.conf PORTDIR setting for backward compatibility"
- for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
- [[ -e ${dest} ]] && break
- done
- [[ -d ${dest} ]] && dest=${dest}/portdir.conf
- rm -rf "${T}/make.conf"
- [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
- cat <<-EOF >> "${T}/make.conf"
-
- # Set PORTDIR for backward compatibility with various tools:
- # gentoo-bashcomp - bug #478444
- # euse - bug #474574
- # euses and ufed - bug #478318
- PORTDIR="${EPREFIX}/usr/portage"
- EOF
- mkdir -p "${dest%/*}"
- mv "${T}/make.conf" "$(new_config_protect "${dest}")"
- fi
- fi
-
- local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
-
- if ${USERSYNC_UPGRADE} && \
- [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
- local ownership=$(get_ownership "${PORTDIR}")
- if [[ -n ${ownership} ]] ; then
- einfo "Adjusting PORTDIR permissions for usersync"
- find "${PORTDIR}" -path "${distdir%/}" -prune -o \
- ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
- -exec chown "${ownership}" {} +
- fi
- fi
-
- # Do this last, since it could take a long time if there
- # are lots of live sources, and the user may be tempted
- # to kill emerge while it is running.
- if ${USERPRIV_UPGRADE} && \
- [[ -d ${distdir} && -w ${distdir} ]] ; then
- local ownership=$(get_ownership "${distdir}")
- if [[ ${ownership#*:} == portage ]] ; then
- einfo "Adjusting DISTDIR permissions for userpriv"
- find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
- -exec chown -R portage:portage {} +
- fi
- fi
-
- einfo ""
- einfo "This release of portage NO LONGER contains the repoman code base."
- einfo "Repoman has it's own ebuild and release package."
- einfo "For repoman functionality please emerge app-portage/repoman"
- einfo "Please report any bugs you may encounter."
- einfo ""
-}
diff --git a/sys-apps/portage/portage-2.3.1.ebuild b/sys-apps/portage/portage-2.3.1.ebuild
deleted file mode 100644
index 1e432c4..0000000
--- a/sys-apps/portage/portage-2.3.1.ebuild
+++ /dev/null
@@ -1,367 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=(
- pypy
- python3_3 python3_4 python3_5
- python2_7
-)
-PYTHON_REQ_USE='bzip2(+)'
-
-inherit distutils-r1 multilib
-
-DESCRIPTION="Portage is the package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
-
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- >=sys-apps/sed-4.0.5 sys-devel/patch
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
- epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
-# Require sandbox-2.2 for bug #288863.
-# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
-# quite slow, so it's not considered in the dependencies as an alternative to
-# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
-# for now, don't pull in xattr deps for other kernels.
-# For whirlpool hash, require python[ssl] (bug #425046).
-# For compgen, require bash[readline] (bug #445576).
-RDEPEND="
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- !build? (
- >=sys-apps/sed-4.0.5
- app-shells/bash:0[readline]
- >=app-admin/eselect-1.2
- )
- elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
- >=app-misc/pax-utils-0.1.17
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
- python2_7 pypy)
- ) )
- !<app-admin/logrotate-3.8.0"
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- userland_GNU? ( >=sys-apps/coreutils-6.4 )
- )"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-
-REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
-
-SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
-
-prefix_src_archives() {
- local x y
- for x in ${@}; do
- for y in ${SRC_ARCHIVES}; do
- echo ${y}/${x}
- done
- done
-}
-
-TARBALL_PV=${PV}
-SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
- $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
-
-PATCHES=(
- "${FILESDIR}/2.3.1-doc-Revert-URI-changes-related-to-docbook-schema.patch"
- "${FILESDIR}"/${PN}-2.3.0-ldconfig-path.patch
- "${FILESDIR}"/${PN}-2.3.0-prefix-path-only.patch
-)
-
-pkg_setup() {
- use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use ipc ; then
- einfo "Disabling ipc..."
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
- -i pym/_emerge/AbstractEbuildProcess.py || \
- die "failed to patch AbstractEbuildProcess.py"
- fi
-
- if use xattr && use kernel_linux ; then
- einfo "Adding FEATURES=xattr to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- if [[ -n ${EPREFIX} ]] ; then
- einfo "Setting portage.const.EPREFIX ..."
- sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
- -i pym/portage/const.py || \
- die "Failed to patch portage.const.EPREFIX"
-
- einfo "Prefixing shebangs ..."
- while read -r -d $'\0' ; do
- local shebang=$(head -n1 "$REPLY")
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
- die "sed failed"
- fi
- done < <(find . -type f -print0)
-
- einfo "Adjusting make.globals ..."
- sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
- -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
- -i cnf/make.globals || die "sed failed"
-
- einfo "Adjusting repos.conf ..."
- sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
- -i cnf/repos.conf || die "sed failed"
-
- einfo "Adding FEATURES=force-prefix to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- cd "${S}/cnf" || die
- if [ -f "make.conf.example.${ARCH}".diff ]; then
- patch make.conf.example "make.conf.example.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- fi
-}
-
-python_compile_all() {
- local targets=()
- use doc && targets+=( docbook )
- use epydoc && targets+=( epydoc )
-
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-}
-
-python_test() {
- esetup.py test
-}
-
-python_install() {
- # Install sbin scripts to bindir for python-exec linking
- # they will be relocated in pkg_preinst()
- distutils-r1_python_install \
- --system-prefix="${EPREFIX}/usr" \
- --bindir="$(python_get_scriptdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
- --sbindir="$(python_get_scriptdir)" \
- --sysconfdir="${EPREFIX}/etc" \
- "${@}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local targets=()
- use doc && targets+=( install_docbook )
- use epydoc && targets+=( install_epydoc )
-
- # install docs
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-
- # Due to distutils/python-exec limitations
- # these must be installed to /usr/bin.
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
- einfo "Moving admin scripts to the correct directory"
- dodir /usr/sbin
- for target in ${sbin_relocations}; do
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
- mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
- done
-}
-
-pkg_preinst() {
- # comment out sanity test until it is fixed to work
- # with the new PORTAGE_PYM_PATH
- #if [[ $ROOT == / ]] ; then
- ## Run some minimal tests as a sanity check.
- #local test_runner=$(find "${ED}" -name runTests)
- #if [[ -n $test_runner && -x $test_runner ]] ; then
- #einfo "Running preinst sanity tests..."
- #"$test_runner" || die "preinst sanity tests failed"
- #fi
- #fi
-
- # elog dir must exist to avoid logrotate error for bug #415911.
- # This code runs in preinst in order to bypass the mapping of
- # portage:portage to root:root which happens after src_install.
- keepdir /var/log/portage/elog
- # This is allowed to fail if the user/group are invalid for prefix users.
- if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
- chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
- fi
-
- if has_version "<${CATEGORY}/${PN}-2.1.13" || \
- {
- has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
- has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
- } ; then
- USERPRIV_UPGRADE=true
- USERSYNC_UPGRADE=true
- REPOS_CONF_UPGRADE=true
- REPOS_CONF_SYNC=
- type -P portageq >/dev/null 2>&1 && \
- REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
- else
- USERPRIV_UPGRADE=false
- USERSYNC_UPGRADE=false
- REPOS_CONF_UPGRADE=false
- fi
-}
-
-get_ownership() {
- case ${USERLAND} in
- BSD)
- stat -f '%Su:%Sg' "${1}"
- ;;
- *)
- stat -c '%U:%G' "${1}"
- ;;
- esac
-}
-
-new_config_protect() {
- # Generate a ._cfg file even if the target file
- # does not exist, ensuring that the user will
- # notice the config change.
- local basename=${1##*/}
- local dirname=${1%/*}
- local i=0
- while true ; do
- local filename=$(
- echo -n "${dirname}/._cfg"
- printf "%04d" ${i}
- echo -n "_${basename}"
- )
- [[ -e ${filename} ]] || break
- (( i++ ))
- done
- echo "${filename}"
-}
-
-pkg_postinst() {
-
- if ${REPOS_CONF_UPGRADE} ; then
- einfo "Generating repos.conf"
- local repo_name=
- [[ -f ${PORTDIR}/profiles/repo_name ]] && \
- repo_name=$(< "${PORTDIR}/profiles/repo_name")
- if [[ -z ${REPOS_CONF_SYNC} ]] ; then
- REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
- fi
- local sync_type=
- [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
-
- if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
- sync_type=cvs
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
- fi
-
- cat <<-EOF > "${T}/repos.conf"
- [DEFAULT]
- main-repo = ${repo_name:-gentoo}
-
- [${repo_name:-gentoo}]
- location = ${PORTDIR:-${EPREFIX}/usr/portage}
- sync-type = ${sync_type:-rsync}
- sync-uri = ${REPOS_CONF_SYNC}
- EOF
-
- [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
-
- local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
- if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
- dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
- fi
- # Don't install the config update if the desired repos.conf directory
- # and config file exist, since users may accept it blindly and break
- # their config (bug #478726).
- [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
- mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
-
- if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
- einfo "Generating make.conf PORTDIR setting for backward compatibility"
- for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
- [[ -e ${dest} ]] && break
- done
- [[ -d ${dest} ]] && dest=${dest}/portdir.conf
- rm -rf "${T}/make.conf"
- [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
- cat <<-EOF >> "${T}/make.conf"
-
- # Set PORTDIR for backward compatibility with various tools:
- # gentoo-bashcomp - bug #478444
- # euse - bug #474574
- # euses and ufed - bug #478318
- PORTDIR="${EPREFIX}/usr/portage"
- EOF
- mkdir -p "${dest%/*}"
- mv "${T}/make.conf" "$(new_config_protect "${dest}")"
- fi
- fi
-
- local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
-
- if ${USERSYNC_UPGRADE} && \
- [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
- local ownership=$(get_ownership "${PORTDIR}")
- if [[ -n ${ownership} ]] ; then
- einfo "Adjusting PORTDIR permissions for usersync"
- find "${PORTDIR}" -path "${distdir%/}" -prune -o \
- ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
- -exec chown "${ownership}" {} +
- fi
- fi
-
- # Do this last, since it could take a long time if there
- # are lots of live sources, and the user may be tempted
- # to kill emerge while it is running.
- if ${USERPRIV_UPGRADE} && \
- [[ -d ${distdir} && -w ${distdir} ]] ; then
- local ownership=$(get_ownership "${distdir}")
- if [[ ${ownership#*:} == portage ]] ; then
- einfo "Adjusting DISTDIR permissions for userpriv"
- find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
- -exec chown -R portage:portage {} +
- fi
- fi
-
- einfo ""
- einfo "This release of portage NO LONGER contains the repoman code base."
- einfo "Repoman has its own ebuild and release package."
- einfo "For repoman functionality please emerge app-portage/repoman"
- einfo "Please report any bugs you may encounter."
- einfo ""
-}
diff --git a/sys-apps/portage/portage-2.3.2.ebuild b/sys-apps/portage/portage-2.3.2.ebuild
deleted file mode 100644
index 3c35c22..0000000
--- a/sys-apps/portage/portage-2.3.2.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=(
- pypy
- python3_3 python3_4 python3_5
- python2_7
-)
-PYTHON_REQ_USE='bzip2(+),threads(+)'
-
-inherit distutils-r1 multilib
-
-DESCRIPTION="Portage is the package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
-
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- >=sys-apps/sed-4.0.5 sys-devel/patch
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
- epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
-# Require sandbox-2.2 for bug #288863.
-# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
-# quite slow, so it's not considered in the dependencies as an alternative to
-# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
-# for now, don't pull in xattr deps for other kernels.
-# For whirlpool hash, require python[ssl] (bug #425046).
-# For compgen, require bash[readline] (bug #445576).
-RDEPEND="
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- !build? (
- >=sys-apps/sed-4.0.5
- app-shells/bash:0[readline]
- >=app-admin/eselect-1.2
- )
- elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
- >=app-misc/pax-utils-0.1.17
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
- python2_7 pypy)
- ) )
- !<app-admin/logrotate-3.8.0"
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- userland_GNU? ( >=sys-apps/coreutils-6.4 )
- )"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-
-REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
-
-SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
-
-prefix_src_archives() {
- local x y
- for x in ${@}; do
- for y in ${SRC_ARCHIVES}; do
- echo ${y}/${x}
- done
- done
-}
-
-TARBALL_PV=${PV}
-SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
- $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.3.0-ldconfig-path.patch
- "${FILESDIR}"/${PN}-2.3.0-prefix-path-only.patch
-)
-
-pkg_setup() {
- use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use ipc ; then
- einfo "Disabling ipc..."
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
- -i pym/_emerge/AbstractEbuildProcess.py || \
- die "failed to patch AbstractEbuildProcess.py"
- fi
-
- if use xattr && use kernel_linux ; then
- einfo "Adding FEATURES=xattr to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- if [[ -n ${EPREFIX} ]] ; then
- einfo "Setting portage.const.EPREFIX ..."
- sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
- -i pym/portage/const.py || \
- die "Failed to patch portage.const.EPREFIX"
-
- einfo "Prefixing shebangs ..."
- while read -r -d $'\0' ; do
- local shebang=$(head -n1 "$REPLY")
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
- die "sed failed"
- fi
- done < <(find . -type f -print0)
-
- einfo "Adjusting make.globals ..."
- sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
- -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
- -i cnf/make.globals || die "sed failed"
-
- einfo "Adjusting repos.conf ..."
- sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
- -i cnf/repos.conf || die "sed failed"
-
- einfo "Adding FEATURES=force-prefix to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- cd "${S}/cnf" || die
- if [ -f "make.conf.example.${ARCH}".diff ]; then
- patch make.conf.example "make.conf.example.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- fi
-}
-
-python_compile_all() {
- local targets=()
- use doc && targets+=( docbook )
- use epydoc && targets+=( epydoc )
-
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-}
-
-python_test() {
- esetup.py test
-}
-
-python_install() {
- # Install sbin scripts to bindir for python-exec linking
- # they will be relocated in pkg_preinst()
- distutils-r1_python_install \
- --system-prefix="${EPREFIX}/usr" \
- --bindir="$(python_get_scriptdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
- --sbindir="$(python_get_scriptdir)" \
- --sysconfdir="${EPREFIX}/etc" \
- "${@}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local targets=()
- use doc && targets+=( install_docbook )
- use epydoc && targets+=( install_epydoc )
-
- # install docs
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-
- # Due to distutils/python-exec limitations
- # these must be installed to /usr/bin.
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
- einfo "Moving admin scripts to the correct directory"
- dodir /usr/sbin
- for target in ${sbin_relocations}; do
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
- mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
- done
-}
-
-pkg_preinst() {
- # comment out sanity test until it is fixed to work
- # with the new PORTAGE_PYM_PATH
- #if [[ $ROOT == / ]] ; then
- ## Run some minimal tests as a sanity check.
- #local test_runner=$(find "${ED}" -name runTests)
- #if [[ -n $test_runner && -x $test_runner ]] ; then
- #einfo "Running preinst sanity tests..."
- #"$test_runner" || die "preinst sanity tests failed"
- #fi
- #fi
-
- # elog dir must exist to avoid logrotate error for bug #415911.
- # This code runs in preinst in order to bypass the mapping of
- # portage:portage to root:root which happens after src_install.
- keepdir /var/log/portage/elog
- # This is allowed to fail if the user/group are invalid for prefix users.
- if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
- chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
- fi
-
- if has_version "<${CATEGORY}/${PN}-2.1.13" || \
- {
- has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
- has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
- } ; then
- USERPRIV_UPGRADE=true
- USERSYNC_UPGRADE=true
- REPOS_CONF_UPGRADE=true
- REPOS_CONF_SYNC=
- type -P portageq >/dev/null 2>&1 && \
- REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
- else
- USERPRIV_UPGRADE=false
- USERSYNC_UPGRADE=false
- REPOS_CONF_UPGRADE=false
- fi
-}
-
-get_ownership() {
- case ${USERLAND} in
- BSD)
- stat -f '%Su:%Sg' "${1}"
- ;;
- *)
- stat -c '%U:%G' "${1}"
- ;;
- esac
-}
-
-new_config_protect() {
- # Generate a ._cfg file even if the target file
- # does not exist, ensuring that the user will
- # notice the config change.
- local basename=${1##*/}
- local dirname=${1%/*}
- local i=0
- while true ; do
- local filename=$(
- echo -n "${dirname}/._cfg"
- printf "%04d" ${i}
- echo -n "_${basename}"
- )
- [[ -e ${filename} ]] || break
- (( i++ ))
- done
- echo "${filename}"
-}
-
-pkg_postinst() {
-
- if ${REPOS_CONF_UPGRADE} ; then
- einfo "Generating repos.conf"
- local repo_name=
- [[ -f ${PORTDIR}/profiles/repo_name ]] && \
- repo_name=$(< "${PORTDIR}/profiles/repo_name")
- if [[ -z ${REPOS_CONF_SYNC} ]] ; then
- REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
- fi
- local sync_type=
- [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
-
- if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
- sync_type=cvs
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
- fi
-
- cat <<-EOF > "${T}/repos.conf"
- [DEFAULT]
- main-repo = ${repo_name:-gentoo}
-
- [${repo_name:-gentoo}]
- location = ${PORTDIR:-${EPREFIX}/usr/portage}
- sync-type = ${sync_type:-rsync}
- sync-uri = ${REPOS_CONF_SYNC}
- EOF
-
- [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
-
- local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
- if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
- dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
- fi
- # Don't install the config update if the desired repos.conf directory
- # and config file exist, since users may accept it blindly and break
- # their config (bug #478726).
- [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
- mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
-
- if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
- einfo "Generating make.conf PORTDIR setting for backward compatibility"
- for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
- [[ -e ${dest} ]] && break
- done
- [[ -d ${dest} ]] && dest=${dest}/portdir.conf
- rm -rf "${T}/make.conf"
- [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
- cat <<-EOF >> "${T}/make.conf"
-
- # Set PORTDIR for backward compatibility with various tools:
- # gentoo-bashcomp - bug #478444
- # euse - bug #474574
- # euses and ufed - bug #478318
- PORTDIR="${EPREFIX}/usr/portage"
- EOF
- mkdir -p "${dest%/*}"
- mv "${T}/make.conf" "$(new_config_protect "${dest}")"
- fi
- fi
-
- local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
-
- if ${USERSYNC_UPGRADE} && \
- [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
- local ownership=$(get_ownership "${PORTDIR}")
- if [[ -n ${ownership} ]] ; then
- einfo "Adjusting PORTDIR permissions for usersync"
- find "${PORTDIR}" -path "${distdir%/}" -prune -o \
- ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
- -exec chown "${ownership}" {} +
- fi
- fi
-
- # Do this last, since it could take a long time if there
- # are lots of live sources, and the user may be tempted
- # to kill emerge while it is running.
- if ${USERPRIV_UPGRADE} && \
- [[ -d ${distdir} && -w ${distdir} ]] ; then
- local ownership=$(get_ownership "${distdir}")
- if [[ ${ownership#*:} == portage ]] ; then
- einfo "Adjusting DISTDIR permissions for userpriv"
- find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
- -exec chown -R portage:portage {} +
- fi
- fi
-
- einfo ""
- einfo "This release of portage NO LONGER contains the repoman code base."
- einfo "Repoman has its own ebuild and release package."
- einfo "For repoman functionality please emerge app-portage/repoman"
- einfo "Please report any bugs you may encounter."
- einfo ""
-}
diff --git a/sys-apps/portage/portage-2.3.3.ebuild b/sys-apps/portage/portage-2.3.3.ebuild
deleted file mode 100644
index 4f14483..0000000
--- a/sys-apps/portage/portage-2.3.3.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=(
- pypy
- python3_3 python3_4 python3_5
- python2_7
-)
-PYTHON_REQ_USE='bzip2(+),threads(+)'
-
-inherit distutils-r1 multilib
-
-DESCRIPTION="Portage is the package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
-SLOT="0"
-IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
-
-DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- >=sys-apps/sed-4.0.5 sys-devel/patch
- doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
- epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
-# Require sandbox-2.2 for bug #288863.
-# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
-# quite slow, so it's not considered in the dependencies as an alternative to
-# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
-# for now, don't pull in xattr deps for other kernels.
-# For whirlpool hash, require python[ssl] (bug #425046).
-# For compgen, require bash[readline] (bug #445576).
-RDEPEND="
- >=app-arch/tar-1.27
- dev-lang/python-exec:2
- !build? (
- >=sys-apps/sed-4.0.5
- app-shells/bash:0[readline]
- >=app-admin/eselect-1.2
- )
- elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
- >=app-misc/pax-utils-0.1.17
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
- python2_7 pypy)
- ) )
- !<app-admin/logrotate-3.8.0"
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- userland_GNU? ( >=sys-apps/coreutils-6.4 )
- )"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-
-REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
-
-SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.3.0-ldconfig-path.patch
- "${FILESDIR}"/${PN}-2.3.0-prefix-path-only.patch
-)
-
-prefix_src_archives() {
- local x y
- for x in ${@}; do
- for y in ${SRC_ARCHIVES}; do
- echo ${y}/${x}
- done
- done
-}
-
-TARBALL_PV=${PV}
-SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
- $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
-
-pkg_setup() {
- use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use ipc ; then
- einfo "Disabling ipc..."
- sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
- -i pym/_emerge/AbstractEbuildProcess.py || \
- die "failed to patch AbstractEbuildProcess.py"
- fi
-
- if use xattr && use kernel_linux ; then
- einfo "Adding FEATURES=xattr to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- if [[ -n ${EPREFIX} ]] ; then
- einfo "Setting portage.const.EPREFIX ..."
- sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
- -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
- -i pym/portage/const.py || \
- die "Failed to patch portage.const.EPREFIX"
-
- einfo "Prefixing shebangs ..."
- while read -r -d $'\0' ; do
- local shebang=$(head -n1 "$REPLY")
- if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
- sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
- die "sed failed"
- fi
- done < <(find . -type f -print0)
-
- einfo "Adjusting make.globals ..."
- sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
- -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
- -i cnf/make.globals || die "sed failed"
-
- einfo "Adjusting repos.conf ..."
- sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
- -i cnf/repos.conf || die "sed failed"
-
- einfo "Adding FEATURES=force-prefix to make.globals ..."
- echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
- || die "failed to append to make.globals"
- fi
-
- cd "${S}/cnf" || die
- if [ -f "make.conf.example.${ARCH}".diff ]; then
- patch make.conf.example "make.conf.example.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- fi
-}
-
-python_compile_all() {
- local targets=()
- use doc && targets+=( docbook )
- use epydoc && targets+=( epydoc )
-
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-}
-
-python_test() {
- esetup.py test
-}
-
-python_install() {
- # Install sbin scripts to bindir for python-exec linking
- # they will be relocated in pkg_preinst()
- distutils-r1_python_install \
- --system-prefix="${EPREFIX}/usr" \
- --bindir="$(python_get_scriptdir)" \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
- --sbindir="$(python_get_scriptdir)" \
- --sysconfdir="${EPREFIX}/etc" \
- "${@}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- local targets=()
- use doc && targets+=( install_docbook )
- use epydoc && targets+=( install_epydoc )
-
- # install docs
- if [[ ${targets[@]} ]]; then
- esetup.py "${targets[@]}"
- fi
-
- # Due to distutils/python-exec limitations
- # these must be installed to /usr/bin.
- local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
- einfo "Moving admin scripts to the correct directory"
- dodir /usr/sbin
- for target in ${sbin_relocations}; do
- einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
- mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
- done
-}
-
-pkg_preinst() {
- # comment out sanity test until it is fixed to work
- # with the new PORTAGE_PYM_PATH
- #if [[ $ROOT == / ]] ; then
- ## Run some minimal tests as a sanity check.
- #local test_runner=$(find "${ED}" -name runTests)
- #if [[ -n $test_runner && -x $test_runner ]] ; then
- #einfo "Running preinst sanity tests..."
- #"$test_runner" || die "preinst sanity tests failed"
- #fi
- #fi
-
- # elog dir must exist to avoid logrotate error for bug #415911.
- # This code runs in preinst in order to bypass the mapping of
- # portage:portage to root:root which happens after src_install.
- keepdir /var/log/portage/elog
- # This is allowed to fail if the user/group are invalid for prefix users.
- if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
- chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
- fi
-
- if has_version "<${CATEGORY}/${PN}-2.1.13" || \
- {
- has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
- has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
- } ; then
- USERPRIV_UPGRADE=true
- USERSYNC_UPGRADE=true
- REPOS_CONF_UPGRADE=true
- REPOS_CONF_SYNC=
- type -P portageq >/dev/null 2>&1 && \
- REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
- else
- USERPRIV_UPGRADE=false
- USERSYNC_UPGRADE=false
- REPOS_CONF_UPGRADE=false
- fi
-}
-
-get_ownership() {
- case ${USERLAND} in
- BSD)
- stat -f '%Su:%Sg' "${1}"
- ;;
- *)
- stat -c '%U:%G' "${1}"
- ;;
- esac
-}
-
-new_config_protect() {
- # Generate a ._cfg file even if the target file
- # does not exist, ensuring that the user will
- # notice the config change.
- local basename=${1##*/}
- local dirname=${1%/*}
- local i=0
- while true ; do
- local filename=$(
- echo -n "${dirname}/._cfg"
- printf "%04d" ${i}
- echo -n "_${basename}"
- )
- [[ -e ${filename} ]] || break
- (( i++ ))
- done
- echo "${filename}"
-}
-
-pkg_postinst() {
-
- if ${REPOS_CONF_UPGRADE} ; then
- einfo "Generating repos.conf"
- local repo_name=
- [[ -f ${PORTDIR}/profiles/repo_name ]] && \
- repo_name=$(< "${PORTDIR}/profiles/repo_name")
- if [[ -z ${REPOS_CONF_SYNC} ]] ; then
- REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
- fi
- local sync_type=
- [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
-
- if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
- sync_type=cvs
- REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
- fi
-
- cat <<-EOF > "${T}/repos.conf"
- [DEFAULT]
- main-repo = ${repo_name:-gentoo}
-
- [${repo_name:-gentoo}]
- location = ${PORTDIR:-${EPREFIX}/usr/portage}
- sync-type = ${sync_type:-rsync}
- sync-uri = ${REPOS_CONF_SYNC}
- EOF
-
- [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
-
- local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
- if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
- dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
- fi
- # Don't install the config update if the desired repos.conf directory
- # and config file exist, since users may accept it blindly and break
- # their config (bug #478726).
- [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
- mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
-
- if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
- einfo "Generating make.conf PORTDIR setting for backward compatibility"
- for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
- [[ -e ${dest} ]] && break
- done
- [[ -d ${dest} ]] && dest=${dest}/portdir.conf
- rm -rf "${T}/make.conf"
- [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
- cat <<-EOF >> "${T}/make.conf"
-
- # Set PORTDIR for backward compatibility with various tools:
- # gentoo-bashcomp - bug #478444
- # euse - bug #474574
- # euses and ufed - bug #478318
- PORTDIR="${EPREFIX}/usr/portage"
- EOF
- mkdir -p "${dest%/*}"
- mv "${T}/make.conf" "$(new_config_protect "${dest}")"
- fi
- fi
-
- local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
-
- if ${USERSYNC_UPGRADE} && \
- [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
- local ownership=$(get_ownership "${PORTDIR}")
- if [[ -n ${ownership} ]] ; then
- einfo "Adjusting PORTDIR permissions for usersync"
- find "${PORTDIR}" -path "${distdir%/}" -prune -o \
- ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
- -exec chown "${ownership}" {} +
- fi
- fi
-
- # Do this last, since it could take a long time if there
- # are lots of live sources, and the user may be tempted
- # to kill emerge while it is running.
- if ${USERPRIV_UPGRADE} && \
- [[ -d ${distdir} && -w ${distdir} ]] ; then
- local ownership=$(get_ownership "${distdir}")
- if [[ ${ownership#*:} == portage ]] ; then
- einfo "Adjusting DISTDIR permissions for userpriv"
- find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
- -exec chown -R portage:portage {} +
- fi
- fi
-
- ewarn "Please note that this release no longer respects sync-depth for"
- ewarn "git repositories. There have been too many problems and"
- ewarn "performance issues. See bugs 552814, 559008"
- einfo ""
- einfo "This release of portage NO LONGER contains the repoman code base."
- einfo "Repoman has its own ebuild and release package."
- einfo "For repoman functionality please emerge app-portage/repoman"
- einfo "Please report any bugs you may encounter."
- einfo ""
-}