Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: sys-apps/portage/files/portage-2.1.9.25-crossdev.patch

Issue 6093002: Add experimental support for Portage 2.1.9.25. (Closed) Base URL: http://git.chromium.org/git/chromiumos-overlay.git@master
Patch Set: Re-upload Created 9 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sys-apps/portage/files/portage-2.1.9.25-fastbuild.patch » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sys-apps/portage/files/portage-2.1.9.25-crossdev.patch
diff --git a/sys-apps/portage/files/portage-2.1.9.25-crossdev.patch b/sys-apps/portage/files/portage-2.1.9.25-crossdev.patch
new file mode 100644
index 0000000000000000000000000000000000000000..27e49612004cea630749ea6ad579773a7c1a9645
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.1.9.25-crossdev.patch
@@ -0,0 +1,128 @@
+--- portage/pym/portage/package/ebuild/doebuild.py.orig 2010-12-23 11:33:27.000000000 -0800
++++ portage/pym/portage/package/ebuild/doebuild.py 2010-12-23 11:46:47.000000000 -0800
+@@ -4,6 +4,7 @@
+ __all__ = ['doebuild', 'doebuild_environment', 'spawn', 'spawnebuild']
+
+ import codecs
++import fileinput
+ import gzip
+ from itertools import chain
+ import logging
+@@ -1363,6 +1364,7 @@
+
+ destdir = mysettings["D"]
+ unicode_errors = []
++ fix_files = []
+
+ while True:
+
+@@ -1450,10 +1452,12 @@
+ f.close()
+
+ mystat = os.lstat(fpath)
+- if stat.S_ISREG(mystat.st_mode) and \
+- mystat.st_ino not in counted_inodes:
+- counted_inodes.add(mystat.st_ino)
+- size += mystat.st_size
++ if stat.S_ISREG(mystat.st_mode):
++ if fname.endswith(".pc") or fname.endswith(".la"):
++ fix_files.append(fpath)
++ if mystat.st_ino not in counted_inodes:
++ counted_inodes.add(mystat.st_ino)
++ size += mystat.st_size
+ if mystat.st_uid != portage_uid and \
+ mystat.st_gid != portage_gid:
+ continue
+@@ -1521,6 +1525,14 @@
+ mode='w', encoding=_encodings['repo.content'],
+ errors='strict').write(v + '\n')
+
++ re_root = mysettings["ROOT"].strip("/")
++ if fix_files and re_root:
++ # Replace references to our sysroot with references to "/" in binpkg.
++ # Sysroot will be re-appended when the package is installed.
++ pat = re.compile(r"([' =](-[IL])?/)%s/" % re.escape(re_root))
++ for line in fileinput.input(fix_files, inplace=1):
++ sys.stdout.write(pat.sub(r"\1", line))
++
+ if bsd_chflags:
+ # Restore all of the flags saved above.
+ os.system("mtree -e -p %s -U -k flags < %s > /dev/null" % \
+--- portage/pym/portage/dbapi/vartree.py.orig2 2010-12-23 11:48:32.000000000 -0800
++++ portage/pym/portage/dbapi/vartree.py 2010-12-23 12:17:52.000000000 -0800
+@@ -58,6 +58,7 @@
+ from _emerge.MiscFunctionsProcess import MiscFunctionsProcess
+
+ import codecs
++import fileinput
+ import gc
+ import re, shutil, stat, errno, subprocess
+ import logging
+@@ -1694,10 +1695,11 @@
+ else:
+ self.settings.pop("PORTAGE_LOG_FILE", None)
+
+- env_update(target_root=self.settings['ROOT'],
+- prev_mtimes=ldpath_mtimes,
+- contents=contents, env=self.settings.environ(),
+- writemsg_level=self._display_merge)
++ if 'no-env-update' not in self.settings.features:
++ env_update(target_root=self.settings['ROOT'],
++ prev_mtimes=ldpath_mtimes,
++ contents=contents, env=self.settings.environ(),
++ writemsg_level=self._display_merge)
+ return os.EX_OK
+
+ def _display_merge(self, msg, level=0, noiselevel=0):
+@@ -3369,16 +3371,30 @@
+ showMessage(_("!!! FAILED postinst: ")+str(a)+"\n",
+ level=logging.ERROR, noiselevel=-1)
+
+- downgrade = False
+- for v in otherversions:
+- if pkgcmp(catpkgsplit(self.pkg)[1:], catpkgsplit(v)[1:]) < 0:
+- downgrade = True
+-
+- #update environment settings, library paths. DO NOT change symlinks.
+- env_update(makelinks=(not downgrade),
+- target_root=self.settings['ROOT'], prev_mtimes=prev_mtimes,
+- contents=contents, env=self.settings.environ(),
+- writemsg_level=self._display_merge)
++ if 'no-env-update' not in self.settings.features:
++ downgrade = False
++ for v in otherversions:
++ if pkgcmp(catpkgsplit(self.pkg)[1:], catpkgsplit(v)[1:]) < 0:
++ downgrade = True
++
++ #update environment settings, library paths. DO NOT change symlinks.
++ env_update(makelinks=(not downgrade),
++ target_root=self.settings['ROOT'], prev_mtimes=prev_mtimes,
++ contents=contents, env=self.settings.environ(),
++ writemsg_level=self._display_merge)
++
++ # Fix *.{la,pc} files to point to libs in target_root, if they
++ # don't do so already.
++ re_root = self.settings["ROOT"].strip("/")
++ if re_root:
++ fix_files = []
++ for path in contents:
++ if path.endswith(".la") or path.endswith(".pc"):
++ if os.path.exists(path): fix_files.append(path)
++ if fix_files:
++ pat = re.compile(r"([' =](?:-[IL])?/)(usr|lib|opt)")
++ for line in fileinput.input(fix_files, inplace=1):
++ sys.stdout.write(pat.sub(r"\1%s/\2" % re_root, line))
+
+ # For gcc upgrades, preserved libs have to be removed after the
+ # the library path has been updated.
+--- portage/pym/portage/const.py.orig 2010-12-23 12:19:06.000000000 -0800
++++ portage/pym/portage/const.py 2010-12-23 12:23:58.000000000 -0800
+@@ -93,7 +93,7 @@
+ "installsources", "keeptemp", "keepwork", "fixlafiles", "lmirror",
+ "metadata-transfer", "mirror", "multilib-strict", "news",
+ "noauto", "noclean", "nodoc", "noinfo", "noman", "nostrip",
+- "notitles", "parallel-fetch", "parse-eapi-ebuild-head",
++ "notitles", "no-env-update", "parallel-fetch", "parse-eapi-ebuild-head",
+ "prelink-checksums", "preserve-libs",
+ "protect-owned", "python-trace", "sandbox",
+ "selinux", "sesandbox", "severe", "sfperms",
« no previous file with comments | « no previous file | sys-apps/portage/files/portage-2.1.9.25-fastbuild.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698