public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/anaconda:master commit in: /, iw/, gentoo/
@ 2011-07-08 13:49 Wiktor W Brodlo
  0 siblings, 0 replies; only message in thread
From: Wiktor W Brodlo @ 2011-07-08 13:49 UTC (permalink / raw
  To: gentoo-commits

commit:     e79eb78ccd31c5423e7712a9c1835fdc5b88440f
Author:     wiktor w brodlo <wiktor <AT> brodlo <DOT> net>
AuthorDate: Fri Jul  8 13:49:24 2011 +0000
Commit:     Wiktor W Brodlo <wiktor <AT> brodlo <DOT> net>
CommitDate: Fri Jul  8 13:49:24 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/anaconda.git;a=commit;h=e79eb78c

Write /etc/make.conf

---
 anaconda         |    1 +
 gentoo/livecd.py |    1 +
 gentoo/utils.py  |  184 ++++++++++--------------------------------------------
 iw/use_gui.py    |   17 +++++
 4 files changed, 52 insertions(+), 151 deletions(-)

diff --git a/anaconda b/anaconda
index 6c8fb37..329d92c 100755
--- a/anaconda
+++ b/anaconda
@@ -510,6 +510,7 @@ class Anaconda(object):
         self.upgrade = flags.cmdline.has_key("preupgrade")
         self.upgradeRoot = None
         self.upgradeSwapInfo = None
+        self.use_flags = []
         self._users = None
 
         # *sigh* we still need to be able to write this out

diff --git a/gentoo/livecd.py b/gentoo/livecd.py
index 7a3acff..148967b 100644
--- a/gentoo/livecd.py
+++ b/gentoo/livecd.py
@@ -118,6 +118,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend):
         # Now copy the portage tree
         self._gentoo_install.copy_portage()
         self._gentoo_install.set_profile()
+        self._gentoo_install.write_makeconf()
         self._gentoo_install.install_setup_tools()
         
         self._gentoo_install.setup_users()

diff --git a/gentoo/utils.py b/gentoo/utils.py
index b2b4403..2c8e171 100644
--- a/gentoo/utils.py
+++ b/gentoo/utils.py
@@ -1012,6 +1012,39 @@ class GentooInstall:
         self.spawn_chroot("eselect profile set "+self._anaconda.profile)
         self._progress.set_fraction(1.0)
         
+    def write_makeconf(self):
+        text = self.makeconf_factory(self._anaconda, os.environ["ANACONDA_PRODUCTARCH"])
+        makeconf = open(self._root+"/etc/make.conf", "w")
+        makeconf.write(text)
+        
+    def makeconf_factory(self, settings, arch):
+        cflags = ("-march=%s -O%s", settings.makeconf_march, settings.makeconf_opt)
+        if settings.makeconf_pipe:
+            cflags += " -pipe"
+        cflags = ("CFLAGS=\"%s\"", cflags)
+        
+        cxxflags = "CXXFLAGS=\"${CFLAGS}\""
+        
+        if arch == "amd64"
+            arch = "x86_64"
+        chost = ("CHOST=\"%s-pc-linux-gnu\"", arch)
+        
+        if settings.makeconf_jobs == 0:
+            makeopts = "-j"
+        else:
+            makeopts = ("-j%i", settings.makeconf_jobs)
+        if settings.makeconf_load > 0:
+            makeopts += (" -l%i", settings.makeconf_jobs)
+        if settings.makeconf_silent:
+            makeopts += " -s"
+        makeopts = ("MAKEOPTS=\"%s\"", makeopts)
+        
+        gentoo_mirrors = ("GENTOO_MIRRORS=\"%s\"", " ".join(settings.mirrors))
+        sync = ("SYNC=\"%s\"", " ".join(settings.mirrors_sync))
+        use = ("USE=\"%s\"", " ".join(settings.use_flags))
+        
+        return "\n".join([cflags, cxxflags, chost, makeopts, gentoo_mirrors, sync, use])
+        
     def _get_langpacks(self):
         return None
 
@@ -1021,154 +1054,3 @@ class GentooInstall:
         def_lang_2 = def_lang.split("_")[0]
         langs = [def_lang, def_lang_2]
         return set(langs)
-
-    #def _get_removable_localized_packages(self):
-    #    langpacks = self._get_langpacks()
-        # get cur lang
-    #    langs = self.__get_langs()
-
-    #    new_langpacks = set()
-    #    for langpack in langpacks:
-    #        found = False
-    #        for lang in langs:
-    #            if langpack.endswith("-%s" % (lang,)):
-    #                found = True
-    #                break
-    #        if not found:
-    #            new_langpacks.add(langpack)
-    #    langpacks = new_langpacks
-
-    #    client_repo = self._entropy.installed_repository()
-    #    for langpack in langpacks:
-    #        matches, m_rc = client_repo.atomMatch(langpack, multiMatch = True)
-    #        if m_rc != 0:
-    #            continue
-    #        for pkg_id in matches:
-    #            valid = self._entropy.validate_package_removal(pkg_id)
-    #            if not valid:
-    #                continue
-    #            yield pkg_id
-
-    #def _get_installable_language_packs(self):
-    #    """
-    #    Return a list of packages not available on the CD/DVD that
-    #    could be downloaded and installed.
-    #    """
-    #    langpacks = self._get_langpacks()
-    #    # get cur lang
-    #    langs = self.__get_langs()
-
-    #    new_langpacks = set()
-    #    for langpack in langpacks:
-    #        found = False
-    #        for lang in langs:
-    #            if langpack.endswith("-%s" % (lang,)):
-    #                found = True
-    #                break
-    #        if found:
-    #            new_langpacks.add(langpack)
-    #    langpacks = new_langpacks
-
-        # filter out unwanted packages
-        # see gentoo.const
-
-    #    client_repo = self._entropy.installed_repository()
-
-        # KDE
-    #    matches, m_rc = client_repo.atomMatch("kde-base/kdebase-startkde")
-    #    if m_rc != 0:
-            # remove kde* packages
-    #        langpacks = [x for x in langpacks if x.find("kde") == -1]
-
-        # Openoffice
-    #    matches, m_rc = client_repo.atomMatch("openoffice")
-    #    if m_rc != 0:
-            # remove openoffice* packages
-    #        langpacks = [x for x in langpacks if x.find("openoffice") == -1]
-
-        # aspell
-    #    matches, m_rc = client_repo.atomMatch("aspell")
-    #    if m_rc != 0:
-            # remove aspell* packages
-    #        langpacks = [x for x in langpacks if x.find("aspell") == -1]
-
-        # man-pages
-    #    matches, m_rc = client_repo.atomMatch("man-pages")
-    #    if m_rc != 0:
-            # remove man-pages* packages
-    #        langpacks = [x for x in langpacks if x.find("man-pages") == -1]
-
-    #    packs = []
-    #    for langpack in langpacks:
-    #        matches, m_rc = client_repo.atomMatch(langpack)
-    #        if m_rc != 0:
-    #            packs.append(langpack)
-    #    return packs
-
-    #def _setup_packages_to_remove(self):
-
-        # remove anaconda if installed
-    #    client_repo = self._entropy.installed_repository()
-    #    pkgs_rm = ["app-admin/anaconda", "app-misc/anaconda-runtime",
-    #        "app-misc/anaconda-runtime-gui", "libselinux", "sys-process/audit"]
-    #    for pkg_name in pkgs_rm:
-    #        pkg_id, pkg_rc = client_repo.atomMatch(pkg_name)
-    #        if pkg_id != -1:
-    #            self._package_identifiers_to_remove.add(pkg_id)
-
-    #    localized_pkgs = self._get_removable_localized_packages()
-    #    if localized_pkgs:
-    #        question_text = _("This medium contains many extra languages, "
-    #            "would you like to keep them installed?")
-    #        buttons = [_("Yes"), _("No")]
-    #        answer = self._intf.messageWindow(_("Language packs installation"),
-    #            question_text, custom_icon="question", type="custom",
-    #            custom_buttons = buttons)
-    #        if answer == 1:
-    #            self._package_identifiers_to_remove.update(localized_pkgs)
-
-    #    if self._package_identifiers_to_remove:
-
-    #        current_counter = 0
-    #        total_counter = len(self._package_identifiers_to_remove)
-    #        self._progress.set_fraction(current_counter)
-    #        self._progress.set_text(_("Generating list of files to copy"))
-
-    #        for pkg in self._package_identifiers_to_remove:
-    #            current_counter += 1
-    #            self._progress.set_fraction(
-    #                float(current_counter)/total_counter)
-    #            # get its files
-    #            mycontent = self._live_repo.retrieveContent(pkg,
-    #                extended = True)
-    #            mydirs = [x[0] for x in mycontent if x[1] == "dir"]
-    #            for x in mydirs:
-    #                if x.find("/usr/lib64") != -1:
-    #                    x = x.replace("/usr/lib64","/usr/lib")
-    #                elif x.find("/lib64") != -1:
-    #                    x = x.replace("/lib64","/lib")
-    #                self._add_file_to_ignore(x, "dir")
-    #            mycontent = [x[0] for x in mycontent if x[1] == "obj"]
-    #            for x in mycontent:
-    #                if x.find("/usr/lib64") != -1:
-    #                    x = x.replace("/usr/lib64","/usr/lib")
-    #                elif x.find("/lib64") != -1:
-    #                    x = x.replace("/lib64","/lib")
-    #                self._add_file_to_ignore(x, "obj")
-    #            del mycontent
-
-    #        self._progress.set_fraction(1)
-
-    #    if hasattr(self._files_db, "commit"):
-    #        self._files_db.commit()
-    #    else:
-    #        self._files_db.commitChanges()
-    #    if hasattr(self._files_db, "setIndexing"):
-    #        self._files_db.setIndexing(True)
-    #    else:
-    #        self._files_db.indexing = True
-    #    self._files_db.createAllIndexes()
-
-    #def _add_file_to_ignore(self, f_path, ctype):
-    #    self._files_db._cursor().execute(
-    #        'INSERT into content VALUES (?,?,?)' , ( None, f_path, ctype, ))

diff --git a/iw/use_gui.py b/iw/use_gui.py
index 8fcb199..b3bf64b 100644
--- a/iw/use_gui.py
+++ b/iw/use_gui.py
@@ -37,7 +37,22 @@ import gettext
 _ = lambda x: gettext.ldgettext("anaconda", x)
 
 class UseWindow(InstallWindow):
+	
+	buttons = []
+	use_profile = []
+	
 	def getNext(self):
+		use = []
+		for button in self.buttons:
+			if button.get_property("active"):
+				use.append(button.get_property("label"))
+				
+		for flag in use:
+			if flag not in use_profile: # flag enabled by user, disabled by profile
+				self.anaconda.use_flags.append(flag)
+		for flag in use_profile:
+			if flag not in use: # flag is disabled by user, enabled by profile
+				self.anaconda.use_flags.append("-"+flag)
 		return None
 
 	def getScreen(self, anaconda):
@@ -85,6 +100,8 @@ class UseWindow(InstallWindow):
 			
 			table.attach(cb, 0, 1, rows, rows+1, gtk.FILL)
 			table.attach(l, 1, 2, rows, rows+1)
+			
+			self.buttons.append(cb)
 		
 		self.use_profile = use_enabled
 



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-07-08 13:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-08 13:49 [gentoo-commits] proj/anaconda:master commit in: /, iw/, gentoo/ Wiktor W Brodlo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox