[PATCH] modisolinux fixes
by Paul B Schroeder
Firstly, check_options fails to take into consideration that a user might
have set isolinux_cfg in their config file and did not specify --isolinux-cfg
on the command line.
Secondly, when specifying isolinux_cfg, it copies the file to the isolinux
directory without renaming it to isolinux.cfg. This is useless. It needs
to be renamed to isolinux.cfg when it's copied.
Cheers...Paul...
--- revisor-2.1.3.orig/revisor/modisolinux/__init__.py 2008-12-01 10:20:54.000000000 -0600
+++ revisor-2.1.3/revisor/modisolinux/__init__.py 2008-12-22 16:52:43.828197000 -0600
@@ -53,14 +53,17 @@
self.cfg = cfg
self.log = cfg.log
if not cli_options.isolinux_cfg == "":
- if self.cfg.kickstart_default:
- self.log.warning(_("Both --kickstart-default and --isolinux-cfg have been specified, while they are mutually exclusive. --isolinux-cfg is going to be used."))
- self.cfg.kickstart_default = False
# FIXME: Test if the file is readable
self.cfg.isolinux_cfg = cli_options.isolinux_cfg
else:
- self.cfg.isolinux_cfg = False
+ if self.cfg.isolinux_cfg == "":
+ self.cfg.isolinux_cfg = False
+
+ if not self.cfg.isolinux_cfg == False and not self.cfg.isolinux_cfg == "":
+ if self.cfg.kickstart_default:
+ self.log.warning(_("Both --kickstart-default and --isolinux-cfg have been specified, while they are mutually exclusive. --isolinux-cfg is going to be used."))
+ self.cfg.kickstart_default = False
def check_setting_isolinux_cfg(self, val):
if os.access(val, os.R_OK):
@@ -76,7 +79,7 @@
os.unlink(os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux", "isolinux.cfg"))
self.log.debug(_("Deleted the old isolinux.cfg"), level=9)
try:
- shutil.copy(self.cfg.isolinux_cfg, os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux"))
+ shutil.copy(self.cfg.isolinux_cfg, os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux", "isolinux.cfg"))
self.log.debug(_("Inserted the new isolinux.cfg"), level=9)
except:
self.log.warning(_("Could not copy in the new isolinux.cfg"))
--
---
Paul B Schroeder <paul.schroeder "at" bluecoat "dot" com>
Blue Coat Systems, Inc.
15 years, 4 months
po/Changelog po/pl.po
by Transifex System User
po/Changelog | 2
po/pl.po | 504 ++++++++++++++++++++++++++++++++---------------------------
2 files changed, 283 insertions(+), 223 deletions(-)
New commits:
commit 24da8806da09550d49d0795d7ce7f3f6db72cc20
Author: Piotr Drąg <piotrdrag(a)gmail.com>
Date: Fri Dec 19 23:47:32 2008 +0000
Updated Polish translation
Transmitted-via: Transifex (translate.fedoraproject.org)
diff --git a/po/Changelog b/po/Changelog
index 03833d9..ced8a09 100644
--- a/po/Changelog
+++ b/po/Changelog
@@ -2,6 +2,8 @@ Updated Polish translation
Transmitted-via: Transifex (translate.fedoraproject.org)Updated Polish translation
+Transmitted-via: Transifex (translate.fedoraproject.org)Updated Polish translation
+
Transmitted-via: Transifex (translate.fedoraproject.org)Updated German translation
Transmitted-via: Transifex (translate.fedoraproject.org)Updatet brazilian portuguese translation
diff --git a/po/pl.po b/po/pl.po
index caf27e2..8706fdf 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-12-14 23:56+0100\n"
-"PO-Revision-Date: 2008-12-14 23:58+0100\n"
+"POT-Creation-Date: 2008-12-20 00:07+0100\n"
+"PO-Revision-Date: 2008-12-20 00:46+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag(a)gmail.com>\n"
"Language-Team: Polish <pl(a)li.org>\n"
"MIME-Version: 1.0\n"
@@ -1242,49 +1242,53 @@ msgid "Running Revisor in Hub mode..."
msgstr "Uruchamianie Revisora w trybie huba..."
#: ../revisor/base.py:117
+msgid "Running Revisor in Composer mode..."
+msgstr "Uruchamianie Revisora w trybie kompozytora..."
+
+#: ../revisor/base.py:122
msgid "Running Revisor in RPC Server mode..."
msgstr "Uruchamianie Revisora w trybie serwera RPC..."
-#: ../revisor/base.py:121 ../revisor/base.py:127
+#: ../revisor/base.py:126 ../revisor/base.py:132
msgid "Running Revisor in GUI mode..."
msgstr "Uruchamianie Revisora w trybie GUI..."
-#: ../revisor/base.py:182
+#: ../revisor/base.py:187
#, python-format
msgid "Opening up /usr/bin/htmlview %s%s"
msgstr "Otwieranie /usr/bin/htmlview %s%s"
#. self.mode.base_buttons_xml.get_widget("button_information").set_sensitive(True)
-#: ../revisor/base.py:186
+#: ../revisor/base.py:191
#, python-format
msgid "Cannot fork process showing help, please use %s%s"
msgstr "Nie można rozdzielić procesu wyświetlania pomocy, użyj %s%s"
-#: ../revisor/base.py:188
+#: ../revisor/base.py:193
#, python-format
msgid "Cannot show Help in CLI mode, use %s%s"
msgstr "Nie można wyświetlić pomocy w trybie CLI, użyj %s%s"
-#: ../revisor/base.py:196
+#: ../revisor/base.py:201
msgid "Loading Repositories"
msgstr "Wczytywanie repozytoriów"
-#: ../revisor/base.py:198
+#: ../revisor/base.py:203
#, python-format
msgid "Getting configuration from %s"
msgstr "Pobieranie konfiguracji z %s"
-#: ../revisor/base.py:205 ../revisor/base.py:266 ../revisor/base.py:273
-#: ../revisor/base.py:283 ../revisor/base.py:293 ../revisor/cfg.py:473
-#: ../revisor/cfg.py:484 ../revisor/cfg.py:497 ../revisor/pkgorder.py:178
-#: ../revisor/pkgorder.py:183 ../revisor/pkgorder.py:194
-#: ../revisor/pkgorder.py:197 ../revisor/pkgorder.py:206
-#: ../revisor/pkgorder.py:215
+#: ../revisor/base.py:210 ../revisor/base.py:271 ../revisor/base.py:278
+#: ../revisor/base.py:288 ../revisor/base.py:298 ../revisor/cfg.py:473
+#: ../revisor/cfg.py:484 ../revisor/cfg.py:497 ../revisor/pkgorder.py:190
+#: ../revisor/pkgorder.py:195 ../revisor/pkgorder.py:206
+#: ../revisor/pkgorder.py:209 ../revisor/pkgorder.py:218
+#: ../revisor/pkgorder.py:227
#, python-format
msgid "Using deprecated YUM function: %s()"
msgstr "Używanie przestarzałej funkcji yuma: %s()"
-#: ../revisor/base.py:207
+#: ../revisor/base.py:212
#, python-format
msgid ""
"yum.YumBase.doConfigSetup failed, probably an invalid configuration file %s"
@@ -1292,33 +1296,33 @@ msgstr ""
"yum.YumBase.doConfigSetup nie powiodło się, prawdopodobnie plik konfiguracji "
"%s jest nieprawidłowy"
-#: ../revisor/base.py:210
+#: ../revisor/base.py:215
#, python-format
msgid "Bumping YUMs debuglevel (%d) to our debuglevel (%d)"
msgstr "Podnoszenie poziomu raportowania błędów yuma (%d) na nasz poziom (%d)"
-#: ../revisor/base.py:212
+#: ../revisor/base.py:217
#, python-format
msgid "YUMs debuglevel now %d"
msgstr "Poziom raportowania błędów yuma wynosi teraz %d"
-#: ../revisor/base.py:247
+#: ../revisor/base.py:252
msgid "Another application is running which is accessing software information."
msgstr "Inna uruchomiona aplikacja ma dostęp do informacji o oprogramowaniu."
-#: ../revisor/base.py:252
+#: ../revisor/base.py:257
msgid "Fatal Error: Unable to retrieve software information.\n"
msgstr "Fatalny błąd: nie można pobierać informacji o oprogramowaniu.\n"
-#: ../revisor/base.py:262
+#: ../revisor/base.py:267
msgid "Setting up a Transaction Set"
msgstr "Ustawianie zestawu transakcji"
-#: ../revisor/base.py:269
+#: ../revisor/base.py:274
msgid "Getting myself a piece of the RPMDB"
msgstr "Pobieranie fragmentu RPMDB"
-#: ../revisor/base.py:276
+#: ../revisor/base.py:281
msgid ""
"Apparently we're running on an Enterprise Linux system (we can tell from the "
"way yum sets up the RPM Database)"
@@ -1326,38 +1330,38 @@ msgstr ""
"Działamy na systemie Enterprise Linux (możemy tak wywnioskować ze sposobu, w "
"jaki yum ustawia bazę danych RPM)"
-#: ../revisor/base.py:279
+#: ../revisor/base.py:284
msgid "Getting Repository Information"
msgstr "Pobieranie informacji o repozytoriach"
-#: ../revisor/base.py:286
+#: ../revisor/base.py:291
#, python-format
msgid "Arch list = %s"
msgstr "Lista architektur = %s"
-#: ../revisor/base.py:288
+#: ../revisor/base.py:293
msgid "Getting the Package Sacks"
msgstr "Pobieranie zestawów pakietów"
-#: ../revisor/base.py:298
+#: ../revisor/base.py:303
#, python-format
msgid "All OK so far, %d packages in the Package Sack"
msgstr "Jak na razie wszystko w porządku, %d pakietów w zestawie"
-#: ../revisor/base.py:311
+#: ../revisor/base.py:316
msgid ""
"Building a nice package list from ksdata, and adding it to the transaction"
msgstr "Budowanie ładnej listy pakietów z ksdata i dodawanie jej do transakcji"
-#: ../revisor/base.py:316
+#: ../revisor/base.py:321
msgid "Kickstart mode: respin"
msgstr "Tryb kickstart: ponowne komponowanie"
-#: ../revisor/base.py:319
+#: ../revisor/base.py:324
msgid "Kickstart mode: normal"
msgstr "Tryb kickstart: normalny"
-#: ../revisor/base.py:327
+#: ../revisor/base.py:332
#, python-format
msgid ""
"What we're getting from pykickstart is: %d groups, %d packages and %d "
@@ -1366,120 +1370,120 @@ msgstr ""
"Od pykickstart pobrano: %d grup, %d pakietów i %d wyłączonych pakietów. %d "
"pakietów zostało całkowicie zignorowanych."
-#: ../revisor/base.py:337 ../revisor/base.py:633
+#: ../revisor/base.py:342 ../revisor/base.py:638
msgid "Select kickstart packages"
msgstr "Wybierz pakiety kickstart"
-#: ../revisor/base.py:345
+#: ../revisor/base.py:350
#, python-format
msgid "Using pkgsack excludes, the list of packages to exclude is now: %r"
msgstr ""
"Używanie wykluczania pkgsack, lista pakietów do wykluczenia to teraz: %r"
-#: ../revisor/base.py:362 ../revisor/base.py:661
+#: ../revisor/base.py:367 ../revisor/base.py:666
msgid "Appending group @core"
msgstr "Dołączanie grupy @core"
-#: ../revisor/base.py:377 ../revisor/base.py:676
+#: ../revisor/base.py:382 ../revisor/base.py:681
msgid "Appending group @base"
msgstr "Dołączanie grupy @base"
-#: ../revisor/base.py:396 ../revisor/base.py:687
+#: ../revisor/base.py:401 ../revisor/base.py:698
#, python-format
msgid "Found group: %s"
msgstr "Znaleziono grupę: %s"
-#: ../revisor/base.py:402
+#: ../revisor/base.py:407
#, python-format
msgid "Repository metadata cannot be found: %s: %s"
msgstr "Nie można znaleźć metadanych repozytorium: %s: %s"
-#: ../revisor/base.py:405
+#: ../revisor/base.py:410
#, python-format
msgid "Group not found: %s"
msgstr "Nie znaleziono grupy: %s"
-#: ../revisor/base.py:417
+#: ../revisor/base.py:422
#, python-format
msgid "Selecting required packages for group %s"
msgstr "Wybieranie wymaganych pakietów dla grupy %s"
-#: ../revisor/base.py:421 ../revisor/base.py:442 ../revisor/base.py:463
-#: ../revisor/base.py:482
+#: ../revisor/base.py:426 ../revisor/base.py:447 ../revisor/base.py:468
+#: ../revisor/base.py:487
#, python-format
msgid "Including %s"
msgstr "Dołączanie %s"
-#: ../revisor/base.py:431
+#: ../revisor/base.py:436
#, python-format
msgid "From Groups (required): Adding %s-%s:%s-%s.%s to transaction"
msgstr "Z grup (wymagane): dodawanie %s-%s:%s-%s.%s do transakcji"
-#: ../revisor/base.py:438
+#: ../revisor/base.py:443
#, python-format
msgid "Selecting default packages for group %s"
msgstr "Wybieranie domyślnych pakietów dla grupy %s"
-#: ../revisor/base.py:451
+#: ../revisor/base.py:456
#, python-format
msgid "From Groups (default): Adding %s-%s:%s-%s.%s to transaction"
msgstr "Z grup (domyślne): dodawanie %s-%s:%s-%s.%s do transakcji"
-#: ../revisor/base.py:458
+#: ../revisor/base.py:463
#, python-format
msgid "Selecting optional packages for group %s"
msgstr "Wybieranie opcjonalnych pakietów dla grupy %s"
-#: ../revisor/base.py:472 ../revisor/base.py:491
+#: ../revisor/base.py:477 ../revisor/base.py:496
#, python-format
msgid "From Groups (optional): Adding %s-%s:%s-%s.%s to transaction"
msgstr "Z grup (opcjonalne): dodawanie %s-%s:%s-%s.%s do transakcji"
-#: ../revisor/base.py:478
+#: ../revisor/base.py:483
#, python-format
msgid "No include parameter for group %s, using defaults"
msgstr "Brak parametru dołączania dla grupy %s, używanie domyślnych"
-#: ../revisor/base.py:500 ../revisor/base.py:704
+#: ../revisor/base.py:505 ../revisor/base.py:715
#, python-format
msgid "Testing condition: %s / %s"
msgstr "Testowanie warunków: %s/%s"
-#: ../revisor/base.py:514
+#: ../revisor/base.py:519
#, python-format
msgid "From package list, including: %s"
msgstr "Z listy pakietów, dołączanie: %s"
-#: ../revisor/base.py:517
+#: ../revisor/base.py:522
#, python-format
msgid "Package %s is in excludeList, continuing"
msgstr "Pakiet %s znajduje się na liście wyłączonych, kontynuowanie"
-#: ../revisor/base.py:525
+#: ../revisor/base.py:530
msgid "No packages found!"
msgstr "Nie znaleziono pakietów!"
-#: ../revisor/base.py:530 ../revisor/base.py:559
+#: ../revisor/base.py:535 ../revisor/base.py:564
#, python-format
msgid "From Packages: Adding %s-%s:%s-%s.%s to transaction"
msgstr "Z pakietów: dodawanie %s-%s:%s-%s.%s do transakcji"
-#: ../revisor/base.py:537
+#: ../revisor/base.py:542
#, python-format
msgid "Could not find package '%s', searching..."
msgstr "Nie można znaleźć pakietu \"%s\", wyszukiwanie..."
-#: ../revisor/base.py:550
+#: ../revisor/base.py:555
#, python-format
msgid "Found packages matching '%s': %s"
msgstr "Znaleziono pakiety pasujące do \"%s\": %s"
-#: ../revisor/base.py:561
+#: ../revisor/base.py:566
#, python-format
msgid "From Packages: Not adding %s now because it is in the ignore list"
msgstr "Z pakietów: nie dodano teraz %s, ponieważ jest na liście ignorowanych"
-#: ../revisor/base.py:572
+#: ../revisor/base.py:577
#, python-format
msgid ""
"More then one package found for %s-%s-%s.%s - going to add them all to the "
@@ -1488,22 +1492,22 @@ msgstr ""
"Znaleziono więcej niż jeden pakiet dla %s-%s-%s.%s - wszystkie zostaną "
"dodane do transakcji"
-#: ../revisor/base.py:574
+#: ../revisor/base.py:579
#, python-format
msgid "Could not find package %s-%s-%s.%s"
msgstr "Nie można znaleźć pakietu %s-%s-%s.%s"
-#: ../revisor/base.py:577
+#: ../revisor/base.py:582
#, python-format
msgid "From Packages (exact string %s-%s-%s.%s), selecting %s-%s-%s.%s"
msgstr "Z pakietów: (dokładny łańcuch %s-%s-%s.%s), wybieranie %s-%s-%s.%s"
-#: ../revisor/base.py:597 ../revisor/base.py:752
+#: ../revisor/base.py:602 ../revisor/base.py:763
#, python-format
msgid "From Excludes: Removing %s-%s:%s-%s.%s from transaction"
msgstr "Z wykluczonych: usuwanie %s-%s:%s-%s.%s z transakcji"
-#: ../revisor/base.py:600 ../revisor/base.py:755
+#: ../revisor/base.py:605 ../revisor/base.py:766
#, python-format
msgid ""
"Apparently trying to exclude a package that is not available in the "
@@ -1512,7 +1516,7 @@ msgstr ""
"Próbujesz wykluczyć pakiet, który nie jest dostępny we wczytanych "
"repozytoriach lub nie został dodany do transakcji: %s"
-#: ../revisor/base.py:606
+#: ../revisor/base.py:611
#, python-format
msgid ""
"\n"
@@ -1532,11 +1536,11 @@ msgstr ""
"Można kontynuować z tymi małymi błędami, ale wynik może zdecydowanie różnić "
"się od oczekiwanego."
-#: ../revisor/base.py:612
+#: ../revisor/base.py:617
msgid "This is what was selected to be installed:"
msgstr "Wybrane do zainstalowania:"
-#: ../revisor/base.py:625
+#: ../revisor/base.py:630
#, python-format
msgid ""
"What we're getting from pykickstart is: %d groups, %d packages and %d "
@@ -1544,54 +1548,54 @@ msgid ""
msgstr ""
"Od pykickstart pobrano: %d grup, %d pakietów i %d wyłączonych pakietów."
-#: ../revisor/base.py:644
+#: ../revisor/base.py:649
#, python-format
msgid "Using pkgsack excludes, excluded packages is now: %r"
msgstr "Używanie wykluczania pkgsack, wykluczone pakiety to teraz: %r"
-#: ../revisor/base.py:684
+#: ../revisor/base.py:695
#, python-format
msgid "No such group %s"
msgstr "Brak grupy %s"
-#: ../revisor/base.py:741
+#: ../revisor/base.py:752
#, python-format
msgid "Adding %s-%s:%s-%s.%s"
msgstr "Dodawanie %s-%s:%s-%s.%s"
-#: ../revisor/base.py:773
+#: ../revisor/base.py:784
msgid "Initting progress bar for "
msgstr "Rozpoczynanie paska postępu dla "
-#: ../revisor/base.py:780
+#: ../revisor/base.py:791
msgid "Apparently we have not yet entered the Build Media stage"
msgstr "Najwyraźniej nie przeszliśmy jeszcze do etapu budowania nośnika"
-#: ../revisor/base.py:809 ../revisor/misc.py:158
+#: ../revisor/base.py:820 ../revisor/misc.py:181
#, python-format
msgid "Checking dependencies for %s.%s"
msgstr "Sprawdzanie zależności %s.%s"
#. pbar.cur_task += 1.0
-#: ../revisor/base.py:831 ../revisor/misc.py:185
+#: ../revisor/base.py:842 ../revisor/misc.py:207
#, python-format
msgid "Unresolvable dependency %s %s %s in %s.%s"
msgstr "Nie można rozwiązać zależności %s %s %s w %s.%s"
-#: ../revisor/base.py:838 ../revisor/misc.py:192
+#: ../revisor/base.py:849 ../revisor/misc.py:214
#, python-format
msgid "Added %s-%s:%s-%s.%s for %s-%s:%s-%s.%s (requiring %s %s %s)"
msgstr "Dodano %s-%s:%s-%s.%s dla %s-%s:%s-%s.%s (wymaga %s %s %s)"
-#: ../revisor/base.py:841 ../revisor/misc.py:198
+#: ../revisor/base.py:852 ../revisor/misc.py:155
msgid "Checking dependencies - allowing conflicts within the package set"
msgstr "Sprawdzanie zależności - pozwalanie na konflikty w zestawie pakietów"
-#: ../revisor/base.py:842 ../revisor/base.py:871
+#: ../revisor/base.py:853 ../revisor/base.py:882
msgid "Resolving Dependencies"
msgstr "Rozwiązywanie zależności"
-#: ../revisor/base.py:864
+#: ../revisor/base.py:875
#, python-format
msgid ""
"The following packages were excluded using the kickstart package manifest, "
@@ -1602,13 +1606,13 @@ msgstr ""
"kickstart, ale zostały dołączone, aby rozwiązać zależności:\n"
" - %s"
-#: ../revisor/base.py:870
+#: ../revisor/base.py:881
msgid ""
"Checking dependencies - not allowing any conflicts within the package set"
msgstr ""
"Sprawdzanie zależności - nie pozwalanie na konflikty w zestawie pakietów"
-#: ../revisor/base.py:898
+#: ../revisor/base.py:909
#, python-format
msgid ""
"Unable to resolve dependencies for some packages selected:\n"
@@ -1620,16 +1624,16 @@ msgstr ""
"%s"
#. End of dependency resolving
-#: ../revisor/base.py:902 ../revisor/image.py:97
+#: ../revisor/base.py:913 ../revisor/image.py:97
msgid "Unable to build transaction"
msgstr "Nie można zbudować transakcji"
-#: ../revisor/base.py:907 ../revisor/image.py:102
+#: ../revisor/base.py:918 ../revisor/image.py:102
#, python-format
msgid "Succesfully built transaction: ret %s, msg %s"
msgstr "Pomyślnie zbudowano transakcję: ret %s, komunikat %s"
-#: ../revisor/base.py:913
+#: ../revisor/base.py:924
#, python-format
msgid ""
"Errors where encountered while downloading package headers:\n"
@@ -1640,7 +1644,7 @@ msgstr ""
"\n"
"%s"
-#: ../revisor/base.py:922
+#: ../revisor/base.py:933
msgid ""
"The package set after dependency resolving does not match the packages "
"selected in the kickstart manifest"
@@ -1648,203 +1652,203 @@ msgstr ""
"Zestaw pakietów po rozwiązaniu zależności nie zgadza się z pakietami "
"wybranymi w manifeście kickstart"
-#: ../revisor/base.py:949
+#: ../revisor/base.py:960
#, python-format
msgid "No such repository: %s"
msgstr "Brak repozytorium: %s"
-#: ../revisor/base.py:951
+#: ../revisor/base.py:962
#, python-format
msgid "Enabling %s repository"
msgstr "Włączanie repozytorium %s"
-#: ../revisor/base.py:970
+#: ../revisor/base.py:981
#, python-format
msgid "Disabling %s repository"
msgstr "Wyłączanie repozytorium %s"
-#: ../revisor/base.py:977
+#: ../revisor/base.py:988
msgid "Creating a list of SRPMs"
msgstr "Tworzenie listy źródłowych pakietów RPM"
-#: ../revisor/base.py:992
+#: ../revisor/base.py:1003
msgid "Source RPM PO already in the list"
msgstr "PO źródłowego pakietu RPM jest już na liście"
-#: ../revisor/base.py:994
+#: ../revisor/base.py:1005
#, python-format
msgid "Source RPM found in non-source repository %s"
msgstr "Źródłowy pakiet RPM znaleziono w repozytorium nieźródłowym %s"
-#: ../revisor/base.py:996
+#: ../revisor/base.py:1007
#, python-format
msgid "Error: Cannot find a source rpm for %s"
msgstr "Błąd: nie można znaleźć źródłowego RPM-a dla %s"
-#: ../revisor/base.py:998 ../revisor/modgui/build_media.py:106
+#: ../revisor/base.py:1009 ../revisor/modgui/build_media.py:106
#: ../revisor/modgui/build_media.py:142 ../revisor/modgui/build_media.py:219
msgid "Downloading Source Packages"
msgstr "Pobieranie pakietów źródłowych"
-#: ../revisor/base.py:1027 ../revisor/progress.py:441
+#: ../revisor/base.py:1038 ../revisor/progress.py:441
#, python-format
msgid "Downloading %s"
msgstr "Pobieranie %s"
-#: ../revisor/base.py:1057 ../revisor/modgui/build_media.py:101
+#: ../revisor/base.py:1068 ../revisor/modgui/build_media.py:101
#: ../revisor/modgui/build_media.py:214
msgid "Downloading Packages"
msgstr "Pobieranie pakietów"
-#: ../revisor/base.py:1066
+#: ../revisor/base.py:1077
msgid "Unable to find a suitable mirror."
msgstr "Nie można znaleźć odpowiedniego serwera lustrzanego."
-#: ../revisor/base.py:1078
+#: ../revisor/base.py:1089
#, python-format
msgid "Errors were encountered while downloading packages: %s"
msgstr "Podczas pobierania pakietów pakietów wystąpiły błędy: %s"
-#: ../revisor/base.py:1119
+#: ../revisor/base.py:1131
#, python-format
msgid "Overriding auto package selection with user package selection for %s..."
msgstr ""
"Zastępowanie automatycznego wyboru pakietów pakietami wybranymi przez "
"użytkownika dla %s..."
-#: ../revisor/base.py:1132
+#: ../revisor/base.py:1144
#, python-format
msgid "Adding required package %s-%s:%s-%s.%s"
msgstr "Dodawanie wymaganego pakietu %s-%s:%s-%s.%s"
#. This list has already been resolved
-#: ../revisor/base.py:1135
+#: ../revisor/base.py:1147
#, python-format
msgid "%s. This is a required package."
msgstr "%s. Ten pakiet jest wymagany."
-#: ../revisor/base.py:1147
+#: ../revisor/base.py:1159
#, python-format
msgid "Adding suggested package %s-%s:%s-%s.%s"
msgstr "Dodawanie sugerowanego pakietu %s-%s:%s-%s.%s"
-#: ../revisor/base.py:1157
+#: ../revisor/base.py:1169
#, python-format
msgid "Packages that do not need to be on the media: %s"
msgstr "Pakiety, które nie muszą być na nośniku: %s"
-#: ../revisor/base.py:1182 ../revisor/base.py:1208
+#: ../revisor/base.py:1194 ../revisor/base.py:1220
msgid "Did not succeed in adding in all required packages"
msgstr "Dodanie wszystkich wymaganych pakietów nie powiodło się"
-#: ../revisor/base.py:1216
+#: ../revisor/base.py:1228
msgid "Populating statistics"
msgstr "Tworzenie statystyk"
-#: ../revisor/base.py:1232
+#: ../revisor/base.py:1244
#, python-format
msgid "Package %s-%s:%s-%s.%s does not seem to have a archivesize header"
msgstr ""
"Wydaje się, że pakiet %s-%s:%s-%s.%s nie posiada nagłówka rozmiaru archiwum"
-#: ../revisor/base.py:1240
+#: ../revisor/base.py:1252
#, python-format
msgid "Package %s-%s:%s-%s.%s does not seem to have a installedsize header"
msgstr ""
"Wydaje się, że pakiet %s-%s:%s-%s.%s nie posiada nagłówka rozmiaru po "
"zainstalowaniu"
-#: ../revisor/base.py:1248
+#: ../revisor/base.py:1260
#, python-format
msgid "Package %s-%s:%s-%s.%s does not seem to have a packagesize header"
msgstr ""
"Wydaje się, że pakiet %s-%s:%s-%s.%s nie posiada nagłówka rozmiaru pakietu"
-#: ../revisor/base.py:1258
+#: ../revisor/base.py:1270
#, python-format
msgid "Total size of all packages (archivesize): %s %s"
msgstr "Całkowity rozmiar wszystkich pakietów (rozmiar archiwum): %s %s"
-#: ../revisor/base.py:1259
+#: ../revisor/base.py:1271
#, python-format
msgid "Total size of all packages, (installedsize): %s %s"
msgstr ""
"Całkowity rozmiar wszystkich pakietów (rozmiar po zainstalowaniu): %s %s"
-#: ../revisor/base.py:1260
+#: ../revisor/base.py:1272
#, python-format
msgid "Total size of all packages, (packagesize): %s %s"
msgstr "Całkowity rozmiar wszystkich pakietów (rozmiar pakietu): %s %s"
-#: ../revisor/base.py:1295
+#: ../revisor/base.py:1307
#, python-format
msgid "Report of the %d most space consuming packages"
msgstr "Zgłoś %d pakietów zajmujących najwięcej miejsca"
-#: ../revisor/base.py:1390 ../revisor/base.py:1404 ../revisor/base.py:2025
+#: ../revisor/base.py:1402 ../revisor/base.py:1416 ../revisor/base.py:2043
#, python-format
msgid "Creating pkgdir: %s"
msgstr "Tworzenie pkgdir: %s"
#. Now for each txmbr in
#. Link the localPkg() result into the build tree
-#: ../revisor/base.py:1413
+#: ../revisor/base.py:1425
msgid "Linking in packages"
msgstr "Dowiązywanie pakietów"
-#: ../revisor/base.py:1432 ../revisor/base.py:2049
+#: ../revisor/base.py:1444 ../revisor/base.py:2067
#, python-format
msgid "Package hard link failed: %s: %s"
msgstr "Twarde dowiązanie pakietów nie powiodło się: %s: %s"
-#: ../revisor/base.py:1437 ../revisor/base.py:2054
+#: ../revisor/base.py:1449 ../revisor/base.py:2072
#, python-format
msgid "Copying: %s to %s"
msgstr "Kopiowanie: %s do %s"
-#: ../revisor/base.py:1440 ../revisor/base.py:2057
+#: ../revisor/base.py:1452 ../revisor/base.py:2075
#, python-format
msgid "Symlinking: %s to %s"
msgstr "Dowiązywanie symboliczne: %s do %s"
-#: ../revisor/base.py:1443 ../revisor/base.py:2060
+#: ../revisor/base.py:1455 ../revisor/base.py:2078
msgid "Package symlink succeeded"
msgstr "Dowiązanie symboliczne pakietów powiodło się"
-#: ../revisor/base.py:1445 ../revisor/base.py:1452 ../revisor/base.py:2062
-#: ../revisor/base.py:2069
+#: ../revisor/base.py:1457 ../revisor/base.py:1464 ../revisor/base.py:2080
+#: ../revisor/base.py:2087
#, python-format
msgid "Package link failed, trying copy: %s: %s"
msgstr "Dowiązanie pakietów nie powiodło się, próbowanie skopiowania: %s: %s"
-#: ../revisor/base.py:1462
+#: ../revisor/base.py:1474
msgid "Creating Repository Information"
msgstr "Tworzenie informacji o repozytoriach"
#. FIXME: Optionally recompose installer images
-#: ../revisor/base.py:1477
+#: ../revisor/base.py:1489
msgid "Building Installation Images"
msgstr "Budowanie obrazów instalacyjnych"
-#: ../revisor/base.py:1483
+#: ../revisor/base.py:1506
msgid "Using already existing installer images"
msgstr "Używanie już istniejących obrazów instalatora"
-#: ../revisor/base.py:1497
+#: ../revisor/base.py:1520
msgid "Linking in release notes"
msgstr "Dowiązywanie informacji o wydaniu"
-#: ../revisor/base.py:1509
+#: ../revisor/base.py:1532
#, python-format
msgid "Copying updates.img from %s to %s"
msgstr "Kopiowanie updates.img z %s do %s"
-#: ../revisor/base.py:1518 ../revisor/pungi.py:417
+#: ../revisor/base.py:1541 ../revisor/pungi.py:417
#, python-format
msgid "copy_dir '%s' not accessible"
msgstr "Nie można uzyskać dostępu do copy_dir \"%s\""
-#: ../revisor/base.py:1529
+#: ../revisor/base.py:1552
#, python-format
msgid "Size of the installation tree is %s MB"
msgstr "Rozmiar drzewa instalacyjnego wynosi %s MB"
@@ -1853,103 +1857,119 @@ msgstr "Rozmiar drzewa instalacyjnego wynosi %s MB"
#. That makes our lives difficult, hihi
#. So, make sure that if we're on el_linux, the repository gets
#. bind mounted and configured appropriately
-#: ../revisor/base.py:1579
+#: ../revisor/base.py:1602
msgid "Running pkgorder"
msgstr "Wykonywanie pkgorder"
-#: ../revisor/base.py:1642
+#: ../revisor/base.py:1661
+#, python-format
+msgid "Running with grouplist: %r"
+msgstr "Uruchamianie z grouplist: %r"
+
+#: ../revisor/base.py:1664
+#, python-format
+msgid "Running with packagelist: %r"
+msgstr "Uruchamianie z packagelist: %r"
+
+#: ../revisor/base.py:1671
msgid "Appending group core and base"
msgstr "Dołączanie grup core i base"
-#: ../revisor/base.py:1649
+#: ../revisor/base.py:1682
#, python-format
msgid "Appending default group %s"
msgstr "Dołączanie domyślnej grupy %s"
-#: ../revisor/base.py:1689
+#. Do not do this because the installer still has all the groups available
+#. if group not in groupList:
+#. continue
+#: ../revisor/base.py:1704
#, python-format
msgid "Appending non-default group %s"
msgstr "Dołączanie nie domyślnej grupy %s"
-#: ../revisor/base.py:1695
+#. Do not do this because the installer still has all the groups available
+#. if group not in groupList:
+#. continue
+#: ../revisor/base.py:1714
#, python-format
msgid "Appending non-default support group %s"
msgstr "Dołączanie nie domyślnych grup obsługi %s"
-#: ../revisor/base.py:1762
+#: ../revisor/base.py:1780
#, python-format
msgid "Not running package ordering, using file %s instead"
msgstr ""
"Porządkowanie kolejności pakietów nie zostanie wykonane, używanie zamiast "
"tego pliku %s"
-#: ../revisor/base.py:1764
+#: ../revisor/base.py:1782
msgid "Not running package ordering"
msgstr "Porządkowanie kolejności pakietów nie zostanie wykonane"
-#: ../revisor/base.py:1796
+#: ../revisor/base.py:1814
msgid "^Install using kickstart"
msgstr "^Zainstaluj używając kickstart"
#. Split Tree
-#: ../revisor/base.py:1819
+#: ../revisor/base.py:1837
#, python-format
msgid "Splitting Build Tree (%s)"
msgstr "Rozdzielanie drzewa budowania (%s)"
#. Split repo
-#: ../revisor/base.py:1825
+#: ../revisor/base.py:1843
#, python-format
msgid "Splitting Repository (%s)"
msgstr "Rozdzielanie repozytorium (%s)"
-#: ../revisor/base.py:1839 ../revisor/modgui/build_media.py:244
+#: ../revisor/base.py:1857 ../revisor/modgui/build_media.py:244
#, python-format
msgid "Creating %s ISO Image #%d"
msgstr "Tworzenie %s obrazu ISO #%d"
-#: ../revisor/base.py:1844 ../revisor/modgui/build_media.py:248
+#: ../revisor/base.py:1862 ../revisor/modgui/build_media.py:248
#, python-format
msgid "Creating %s ISO Image"
msgstr "Tworzenie %s obrazu ISO"
#. For all images but source images; implant the md5 into the ISO for the media check
#. FIXME: Well, it seems we don't deal with source images here.
-#: ../revisor/base.py:1858
+#: ../revisor/base.py:1876
msgid "Implanting MD5 into ISO Images"
msgstr "Wprowadzanie MD5 do obrazów ISO"
#. mediatype = built_image["mediatype"]
#. if not mediatype == 'source':
-#: ../revisor/base.py:1866
+#: ../revisor/base.py:1884
#, python-format
msgid "Implanting md5 into ISO Image: %s"
msgstr "Wprowadzanie MD5 do obrazu ISO: %s"
-#: ../revisor/base.py:1872
+#: ../revisor/base.py:1890
msgid "Cannot implant ISO md5sum"
msgstr "Nie można wprowadzić md5sum ISO"
#. Do some SHA1SUMMONING
-#: ../revisor/base.py:1880
+#: ../revisor/base.py:1898
msgid "Creating SHA1SUMs for Images"
msgstr "Tworzenie plików SHA1SUM dla obrazów"
-#: ../revisor/base.py:1896
+#: ../revisor/base.py:1914
msgid "Creating Rescue ISO Image"
msgstr "Tworzenie ratunkowego obrazu ISO"
-#: ../revisor/base.py:1956
+#: ../revisor/base.py:1974
#, python-format
msgid "Copying %s to %s (%d files)"
msgstr "Kopiowanie %s do %s (%d plików)"
-#: ../revisor/base.py:1960
+#: ../revisor/base.py:1978
#, python-format
msgid "Moving %s to %s (%d files)"
msgstr "Przenoszenie %s do %s (%d plików)"
-#: ../revisor/base.py:1963
+#: ../revisor/base.py:1981
#, python-format
msgid ""
"Moving of the source tree failed (trying copy):\n"
@@ -1960,7 +1980,7 @@ msgstr ""
"\n"
"%s"
-#: ../revisor/base.py:1966
+#: ../revisor/base.py:1984
#, python-format
msgid ""
"Copying of the source tree failed:\n"
@@ -1971,12 +1991,12 @@ msgstr ""
"\n"
"%s"
-#: ../revisor/base.py:1971 ../revisor/pungi.py:413
+#: ../revisor/base.py:1989 ../revisor/pungi.py:413
#, python-format
msgid "Copying %s to %s"
msgstr "Kopiowanie %s do %s"
-#: ../revisor/base.py:1975
+#: ../revisor/base.py:1993
#, python-format
msgid ""
"Copying of the installation tree failed:\n"
@@ -1987,41 +2007,41 @@ msgstr ""
"\n"
"%s"
-#: ../revisor/base.py:1981
+#: ../revisor/base.py:1999
msgid "Creating ext3 filesystem"
msgstr "Tworzenie systemu plików ext3"
-#: ../revisor/base.py:1988
+#: ../revisor/base.py:2006
msgid "Configuring System"
msgstr "Konfigurowanie systemu"
#. Now for each txmbr in
#. Link the localPkg() result into the build tree
-#: ../revisor/base.py:2034
+#: ../revisor/base.py:2052
msgid "Linking in Source packages"
msgstr "Dowiązywanie pakietów źródłowych"
-#: ../revisor/base.py:2089
+#: ../revisor/base.py:2107
#, python-format
msgid "Setting rundir to %s"
msgstr "Ustawianie rundir na %s"
-#: ../revisor/base.py:2095
+#: ../revisor/base.py:2113
#, python-format
msgid "Directory %s could not be created. Aborting"
msgstr "Nie można utworzyć folderu %s. Przerywanie"
-#: ../revisor/base.py:2097
+#: ../revisor/base.py:2115
#, python-format
msgid "Running command: %s"
msgstr "Wykonywanie polecenia: %s"
-#: ../revisor/base.py:2098
+#: ../revisor/base.py:2116
#, python-format
msgid "Extra information: %s %s %s"
msgstr "Dodatkowe informacje: %s %s %s"
-#: ../revisor/base.py:2126
+#: ../revisor/base.py:2144
#, python-format
msgid "Got an error from %s (return code %s)"
msgstr "Otrzymano błąd z %s (kod zwrotny %s)"
@@ -2320,7 +2340,7 @@ msgstr ""
"Ustawienie %s na %r nie zostanie wykonane (wiersz poleceń zgadza się z "
"ustawieniem domyślnym)"
-#: ../revisor/cfg.py:892
+#: ../revisor/cfg.py:893
msgid ""
"Updates.img is only usable with installation media. Please remove --updates-"
"img or also build installation media."
@@ -2328,30 +2348,30 @@ msgstr ""
"Updates.img można używać tylko za pomocą nośnika instalacyjnego. Usuń --"
"updates-img lub zbuduj także nośnik instalacyjny."
-#: ../revisor/cfg.py:896
+#: ../revisor/cfg.py:897
msgid "Kickstart failed"
msgstr "Kickstart nie powiodło się"
-#: ../revisor/cfg.py:903 ../revisor/cfg.py:908
+#: ../revisor/cfg.py:904 ../revisor/cfg.py:909
#, python-format
msgid "Kickstart file %s not readable"
msgstr "Nie można odczytać pliku kickstart %s"
-#: ../revisor/cfg.py:905 ../revisor/cfg.py:910
+#: ../revisor/cfg.py:906 ../revisor/cfg.py:911
#, python-format
msgid "Kickstart file %s fails to load, continuing with defaults"
msgstr ""
"Wczytanie pliku kickstart %s nie powiodło się, kontynuowanie z domyślnymi"
-#: ../revisor/cfg.py:913
+#: ../revisor/cfg.py:914
msgid "No kickstart file specified"
msgstr "Nie podano pliku kickstart"
-#: ../revisor/cfg.py:916 ../revisor/cfg.py:937
+#: ../revisor/cfg.py:917 ../revisor/cfg.py:938
msgid "No media specified"
msgstr "Nie podano nośnika."
-#: ../revisor/cfg.py:919
+#: ../revisor/cfg.py:920
msgid ""
"When composing in respin mode, you can only select one type of media "
"install, live or virtual. You can however select multiple media such as cd, "
@@ -2361,21 +2381,21 @@ msgstr ""
"jeden typ nośnika: instalacyjny, Live lub wirtualny. Można jednak wybrać "
"wiele nośników, takich jak CD, DVD itp."
-#: ../revisor/cfg.py:964
+#: ../revisor/cfg.py:965
#, python-format
msgid "pulling self.packages_list[%r][%r][%r][%r]"
msgstr "wybieranie self.packages_list[%r][%r][%r][%r]"
-#: ../revisor/cfg.py:969
+#: ../revisor/cfg.py:970
#, python-format
msgid "returning pkg_list: %r"
msgstr "zwracanie pkg_list: %r"
-#: ../revisor/cfg.py:1088
+#: ../revisor/cfg.py:1089
msgid "Run from image"
msgstr "Uruchom z obrazu"
-#: ../revisor/cfg.py:1089
+#: ../revisor/cfg.py:1090
msgid "Run from RAM - requires 1 GB+"
msgstr "Uruchom z pamięci RAM - wymaga 1 GB+"
@@ -2563,26 +2583,31 @@ msgstr ""
"Utwórz instalacyjne dwuwarstwowe nośniki DVD (pojemność jednej płyty: 8.5GB)"
#: ../revisor/__init__.py.in:239
-msgid "Create Installation Media Blu-Ray Discs (Capacity per disc: 50GB)"
-msgstr "Utwórz instalacyjne nośniki Blu-Ray (pojemność jednej płyty: 50GB) "
+msgid "Create Installation Media Blu-Ray Discs (Capacity per disc: 25GB)"
+msgstr "Utwórz instalacyjne nośniki Blu-Ray (pojemność jednej płyty: 25GB)"
#: ../revisor/__init__.py.in:244
+msgid ""
+"Create Installation Media Duallayer Blu-Ray Discs (Capacity per disc: 50GB)"
+msgstr "Utwórz instalacyjne nośniki Blu-Ray (pojemność jednej płyty: 50GB)"
+
+#: ../revisor/__init__.py.in:249
msgid "Create Unified ISO from install tree"
msgstr "Utwórz obraz ISO z drzewa instalacji"
-#: ../revisor/__init__.py.in:255
+#: ../revisor/__init__.py.in:260
msgid "Create the Installation Tree."
msgstr "Utwórz drzewo instalacyjne."
-#: ../revisor/__init__.py.in:260
+#: ../revisor/__init__.py.in:265
msgid "Create Media without graphical installer."
msgstr "Utwórz nośnik bez instalatora graficznego."
-#: ../revisor/__init__.py.in:265
+#: ../revisor/__init__.py.in:270
msgid "Include kickstart file on media or in the tree"
msgstr "Dołącz plik kickstart do nośnika lub w drzewie"
-#: ../revisor/__init__.py.in:270
+#: ../revisor/__init__.py.in:275
msgid ""
"In the bootloader menu (isolinux.cfg), set kickstart to boot by default "
"(works with --kickstart-include)"
@@ -2590,32 +2615,32 @@ msgstr ""
"W menu programu startowego (isolinux.cfg) ustaw domyślne uruchamianie "
"kickstart (działa z --kickstart-include)"
-#: ../revisor/__init__.py.in:275
+#: ../revisor/__init__.py.in:280
msgid "Filter anything from comps that is not in the package set"
msgstr "Filtruj z comps wszystko, co nie znajduje się w zestawie pakietów"
-#: ../revisor/__init__.py.in:280
+#: ../revisor/__init__.py.in:285
msgid "Use Revisor's comps file instead of those from the repositories"
msgstr "Użyj pliku comps Revisora zamiast pliku comps z repozytoriów"
-#: ../revisor/__init__.py.in:285
+#: ../revisor/__init__.py.in:290
msgid "Comps file to include on the installation media"
msgstr "Plik comps do dołączenia do nośnika instalacyjnego"
-#: ../revisor/__init__.py.in:290
+#: ../revisor/__init__.py.in:295
msgid "Include specified updates.img on installation media."
msgstr "Dołącz określony updates.img do nośnika instalacyjnego."
-#: ../revisor/__init__.py.in:296
+#: ../revisor/__init__.py.in:301
msgid "Product Name"
msgstr "Nazwa produktu"
-#: ../revisor/__init__.py.in:301
+#: ../revisor/__init__.py.in:306
msgid ""
"Product Path (e.g. Fedora/ or Packages/ -but without the appending slash)"
msgstr "Ścieżka do produktu (np. Fedora/ lub Packages/ - ale bez ukośnika)"
-#: ../revisor/__init__.py.in:306
+#: ../revisor/__init__.py.in:311
msgid ""
"ISO Label Base. Note that other things are appended but that the length can "
"be 32 chars maximum."
@@ -2623,15 +2648,15 @@ msgstr ""
"Podstawa etykiety ISO. Zauważ, że mogą występować inne rzeczy, ale nie może "
"mieć więcej niż 32 znaki."
-#: ../revisor/__init__.py.in:311
+#: ../revisor/__init__.py.in:316
msgid "The base name for the ISOs"
msgstr "Podstawowa nazwa dla ISO"
-#: ../revisor/__init__.py.in:316
+#: ../revisor/__init__.py.in:321
msgid "Product Version"
msgstr "Wersja produktu"
-#: ../revisor/__init__.py.in:321
+#: ../revisor/__init__.py.in:326
msgid ""
"Base Product Version - relevant to required packages and pykickstart "
"compatibility"
@@ -2642,50 +2667,50 @@ msgstr ""
#. #
#. # Utility Media Options
#. #
-#: ../revisor/__init__.py.in:326
+#: ../revisor/__init__.py.in:331
msgid "Utility Media Options"
msgstr "Opcje nośników narzędziowych"
-#: ../revisor/__init__.py.in:331
+#: ../revisor/__init__.py.in:336
msgid "Create Rescue Media"
msgstr "Utwórz nośnik ratunkowy"
#. #
#. # Live Media Options
#. #
-#: ../revisor/__init__.py.in:336
+#: ../revisor/__init__.py.in:341
msgid "Live Media Options"
msgstr "Opcje nośników Live"
-#: ../revisor/__init__.py.in:341
+#: ../revisor/__init__.py.in:346
msgid "Create Live Media CD/DVD"
msgstr "Utwórz nośnik CD/DVD Live"
-#: ../revisor/__init__.py.in:346
+#: ../revisor/__init__.py.in:351
msgid "Create Live Media Thumb Drive Image (will be depreciated)"
msgstr "Utwórz obraz nośnika Live dla dysku USB (przestarzałe)"
-#: ../revisor/__init__.py.in:351
+#: ../revisor/__init__.py.in:356
msgid "Create Live Media Hard Disk Image (will be depreciated)"
msgstr "Utwórz obraz nośnika Live dla dysku twardego (przestarzałe)"
-#: ../revisor/__init__.py.in:356
+#: ../revisor/__init__.py.in:361
msgid "Create Live Media Raw Hard Disk Image"
msgstr "Utwórz surowy obraz nośnika Live dla dysku twardego"
-#: ../revisor/__init__.py.in:361
+#: ../revisor/__init__.py.in:366
msgid "Interactively work in the live image before building the ISO image."
msgstr "Działania interaktywne w obrazie Live przed budowaniem obrazu ISO."
-#: ../revisor/__init__.py.in:366
+#: ../revisor/__init__.py.in:371
msgid "Skip file system compression."
msgstr "Pomiń kompresję systemu plików."
-#: ../revisor/__init__.py.in:371
+#: ../revisor/__init__.py.in:376
msgid "Skip prelinking the contents of the filesystem."
msgstr "Pomiń prekonsolidowanie zawartości systemu plików."
-#: ../revisor/__init__.py.in:376
+#: ../revisor/__init__.py.in:381
msgid ""
"Ignore filesystem overhead. Useless blocks will not be removed from the "
"filesystem."
@@ -2693,20 +2718,20 @@ msgstr ""
"Zignoruj wyższy system plików. Mimo to bloki nie zostaną usunięte z systemu "
"plików."
-#: ../revisor/__init__.py.in:381
+#: ../revisor/__init__.py.in:386
msgid "Set the preferred kernel. One of normal, PAE, xen or debug."
msgstr "Ustaw preferowane jądro: normal, PAE, xen lub debug."
-#: ../revisor/__init__.py.in:422
+#: ../revisor/__init__.py.in:427
#, python-format
msgid " %s - No Description"
msgstr "%s - brak opisu"
-#: ../revisor/__init__.py.in:448
+#: ../revisor/__init__.py.in:453
msgid "Interrupted by user"
msgstr "Przerwano przez użytkownika"
-#: ../revisor/__init__.py.in:454
+#: ../revisor/__init__.py.in:459
msgid ""
"Traceback occurred, please report a bug at http://fedorahosted.org/revisor"
msgstr "Wystąpił błąd, proszę zgłosić błąd na http://fedorahosted.org/revisor"
@@ -2727,12 +2752,12 @@ msgstr "Czy chcesz kontynuować? [Y/n]"
msgid "Abort! Abort! Abort!"
msgstr "Przerwij!"
-#: ../revisor/misc.py:38
+#: ../revisor/misc.py:39
msgid "This tool has to run with root privileges. Aborting"
msgstr "To narzędzie musi być uruchamiane z uprawnieniami roota. Przerywanie"
#. SELinux in enforcing mode
-#: ../revisor/misc.py:49
+#: ../revisor/misc.py:50
msgid ""
"SELinux is in enforcing mode on this host. Composing media will fail. Please "
"set SELinux to permissive mode."
@@ -2740,7 +2765,7 @@ msgstr ""
"SElinux jest ustawiony w trybie wymuszania na tym komputerze. Skomponowanie "
"nośnika nie powiedzie się. Ustaw SELinuksa na tryb zezwalania."
-#: ../revisor/misc.py:54
+#: ../revisor/misc.py:55
msgid ""
"SELinux on this host is disabled. Composed media will not have SELinux, and "
"as a result the system you install from the composed media will not have "
@@ -2750,12 +2775,12 @@ msgstr ""
"posiadały SELinuksa, a w rezultacie system zainstalowany z tego nośnika "
"również nie będzie posiadał SELinuksa."
-#: ../revisor/misc.py:136 ../revisor/misc.py:143
+#: ../revisor/misc.py:137 ../revisor/misc.py:144
#, python-format
msgid "Resolved %s"
msgstr "Rozwiązano %s"
-#: ../revisor/misc.py:146
+#: ../revisor/misc.py:147
#, python-format
msgid ""
"Looking to resolve package %s to a Provides, but we still can't find it."
@@ -2763,99 +2788,117 @@ msgstr ""
"Próbowanie rozwiązania pakietu %s do dostarczanych, ale wciąż nie można go "
"znaleźć."
-#: ../revisor/pkgorder.py:78
+#. If the group is not in the kickstart groups, skip it
+#. if not group in self.cfg.ksobj._get("packages","groupList"):
+#. continue
+#: ../revisor/pkgorder.py:85
#, python-format
-msgid "Adding group(s): %r"
-msgstr "Dodawanie grup: %r"
+msgid "Adding group: %s"
+msgstr "Dodawanie grupy: %s"
-#: ../revisor/pkgorder.py:85
+#: ../revisor/pkgorder.py:93
+#, python-format
+msgid "Adding conditional: %s / %s"
+msgstr "Testowanie warunku: %s/%s"
+
+#: ../revisor/pkgorder.py:96
+#, python-format
+msgid "The following packages are in group %s: %r"
+msgstr "Następujące pakiety znajdują się w grupie %s: %r"
+
+#: ../revisor/pkgorder.py:103
+#, python-format
+msgid "Adding %s-%s:%s-%s.%s to transaction"
+msgstr "Dodawanie %s-%s:%s-%s.%s do transakcji"
+
+#: ../revisor/pkgorder.py:110
#, python-format
msgid "%d dependencies already resolved"
msgstr "%d zależności zostało już rozwiązanych"
-#: ../revisor/pkgorder.py:96
+#: ../revisor/pkgorder.py:120
#, python-format
msgid "Adding package(s): %r"
msgstr "Dodawanie pakietów: %r"
-#: ../revisor/pkgorder.py:141
+#: ../revisor/pkgorder.py:165
#, python-format
msgid "Unable to create yum configuration file for package ordering at %s"
msgstr ""
"Nie można utworzyć pliku konfiguracji yuma dla porządkowania pakietów w %s"
-#: ../revisor/pkgorder.py:160
+#: ../revisor/pkgorder.py:173
#, python-format
msgid "-> package %s"
msgstr "-> pakiet %s"
-#: ../revisor/plugins.py:58 ../revisor/plugins.py:75
+#: ../revisor/plugins.py:59 ../revisor/plugins.py:76
#, python-format
msgid "Plugin %s failed to load (%s: %s)"
msgstr "Wczytanie wtyczki %s nie powiodło się (%s: %s)"
-#: ../revisor/plugins.py:69
+#: ../revisor/plugins.py:70
#, python-format
msgid "ImportError for plugin %s: %s"
msgstr "Błąd importowania wtyczki %s: %s"
-#: ../revisor/plugins.py:72
+#: ../revisor/plugins.py:73
#, python-format
msgid "RuntimeError for plugin %s: %s"
msgstr "Błąd wykonywania wtyczki %s: %s"
-#: ../revisor/plugins.py:92 ../revisor/plugins.py:94
+#: ../revisor/plugins.py:93 ../revisor/plugins.py:95
#, python-format
msgid "Cannot set defaults for plugin %s: %s"
msgstr "Nie można ustawić domyślnych dla wtyczki %s: %s"
-#: ../revisor/plugins.py:96
+#: ../revisor/plugins.py:97
#, python-format
msgid "Cannot set defaults for plugin %s: Unknown Error"
msgstr "Nie można ustawić domyślnych dla wtyczki %s: nieznany błąd"
-#: ../revisor/plugins.py:99
+#: ../revisor/plugins.py:100
#, python-format
msgid "Not setting defaults for plugin %s: No function 'set_defaults()'"
msgstr ""
"Domyślne nie zostaną ustawione dla wtyczki %s: brak funkcji \"set_defaults()"
"\""
-#: ../revisor/plugins.py:116
+#: ../revisor/plugins.py:117
#, python-format
msgid "Cannot set runtime for plugin %s: %s"
msgstr "Nie można ustawić środowiska wykonawczego dla wtyczki %s: %s"
-#: ../revisor/plugins.py:118
+#: ../revisor/plugins.py:119
#, python-format
msgid "Not setting runtime for plugin %s: No function 'set_runtime()'"
msgstr ""
"Środowisko wykonawcze nie zostanie ustawione dla wtyczki %s: brak funkcji "
"\"set_runtime()\""
-#: ../revisor/plugins.py:135
+#: ../revisor/plugins.py:136
#, python-format
msgid "Cannot add options for plugin %s: %s"
msgstr "Nie można dodać opcji dla wtyczki %s: %s"
-#: ../revisor/plugins.py:137
+#: ../revisor/plugins.py:138
#, python-format
msgid "Not adding options for plugin %s: No function 'add_options()'"
msgstr ""
"Opcje nie zostaną ustawione dla wtyczki %s: brak funkcji \"add_options()\""
-#: ../revisor/plugins.py:155
+#: ../revisor/plugins.py:156
#, python-format
msgid "Cannot check options for plugin %s: %s"
msgstr "Nie można sprawdzić opcji dla wtyczki %s: %s"
-#: ../revisor/plugins.py:157
+#: ../revisor/plugins.py:158
#, python-format
msgid "Not checking options for plugin %s: No function 'check_options()'"
msgstr ""
"Opcje nie zostaną sprawdzone dla wtyczki %s: brak funkcji \"check_options()\""
-#: ../revisor/plugins.py:193
+#: ../revisor/plugins.py:194
#, python-format
msgid "Cannot execute hook %s for plugin %s: %s"
msgstr "Nie można wykonać haka %s dla wtyczki %s: %s"
@@ -2998,22 +3041,22 @@ msgstr "Nie można utworzyć folderu files/: %s"
msgid "Creating %s"
msgstr "Tworzenie %s"
-#: ../revisor/pungi.py:457
+#: ../revisor/pungi.py:459
#, python-format
msgid "Disc %s #%d is oversized (%r > %r)"
msgstr "Płyta %s #%d ma za duży rozmiar (%r > %r)"
-#: ../revisor/pungi.py:461
+#: ../revisor/pungi.py:463
#, python-format
msgid "Removing tree %s"
msgstr "Usuwanie drzewa %s"
-#: ../revisor/pungi.py:469
+#: ../revisor/pungi.py:471
#, python-format
msgid "Disc %s #%d is OK in size (%r <= %r)"
msgstr "Płyta %s #%d ma prawidłowy rozmiar (%r <= %r)"
-#: ../revisor/pungi.py:520
+#: ../revisor/pungi.py:522
msgid ""
"Hacking anaconda's .discinfo because it'll shit itself if it reads it's own "
"output"
@@ -3638,7 +3681,7 @@ msgstr ""
msgid "The URI to a tree we're supposed to reuse the installer images from."
msgstr "URI drzewa, z którego ma zostać ponownie użyty instalator."
-#: ../revisor/modreuseinstaller/__init__.py:62
+#: ../revisor/modreuseinstaller/__init__.py:67
#, python-format
msgid ""
"Could not access %s/%s, required for reusing a previous tree. Cancelling the "
@@ -3647,6 +3690,21 @@ msgstr ""
"Nie można uzyskać dostępu do %s/%s, wymaganego do ponownego użycia "
"poprzedniego drzewa. Anulowanie ponownego użycia obrazów instalatora"
+#: ../revisor/modreuseinstaller/__init__.py:85
+#, python-format
+msgid "Copying %s/%s to %s/%s"
+msgstr "Kopiowanie %s/%s do %s/%s"
+
+#: ../revisor/modreuseinstaller/__init__.py:88
+#, python-format
+msgid "Copying %s/.discinfo to %s/.discinfo"
+msgstr "Kopiowanie %s/.discinfo do %s/.discinfo"
+
+#: ../revisor/modreuseinstaller/__init__.py:91
+#, python-format
+msgid "Copying %s/.treeinfo to %s/.treeinfo"
+msgstr "Kopiowanie %s/.treeinfo do %s/.treeinfo"
+
#: ../revisor/modserver/__init__.py:87
msgid "Use the server mode for XML-RPC"
msgstr "Użyj trybu serwera dla XML-RPC"
15 years, 4 months
revisor/modcomposer revisor/modhub
by Frank Bosman
revisor/modcomposer/__init__.py | 67 +++++++++++++++----------
revisor/modhub/__init__.py | 104 ++++++++++++++++++++++++++--------------
2 files changed, 109 insertions(+), 62 deletions(-)
New commits:
commit ffeda34e20b832daba7c86b48c5bcd14b41e294a
Author: root <root(a)portapc.localdomain>
Date: Thu Dec 18 15:49:59 2008 +0100
Thread added to composer for distributed operation.
Moved test-lines from modcomposer to modhub's do_polling thread.
diff --git a/revisor/modcomposer/__init__.py b/revisor/modcomposer/__init__.py
index 32fbfa7..ad399fe 100755
--- a/revisor/modcomposer/__init__.py
+++ b/revisor/modcomposer/__init__.py
@@ -17,24 +17,21 @@ class RevisorComposer():
""" Composer Mode """
def __init__(self):
+ self.composer_occupied = 0
self.composer_id = 0
self.job_id = 0
pass
def run(self, base):
+ self.base = base
try:
self.composer_id = self.composer_logon()
- print "composer_id:", self.composer_id
- # TEST: multiple jobs
- time.sleep(2)
- self.do_job()
- time.sleep(6)
- self.do_job()
- time.sleep(6)
- self.do_job()
- time.sleep(6)
- self.do_job()
- #self.do_xmlrpc(base.cfg)
+ print "Logged in. Composer id:", self.composer_id
+ except Exception, e:
+ base.log.info("Login failed. Shutting down...")
+ raise e
+ try:
+ self.do_xmlrpc(base)
except Exception, e:
self.composer_logoff()
base.log.info("Shutting down...")
@@ -50,11 +47,14 @@ class RevisorComposer():
def composer_logon(self):
print "Logging on..."
try:
+ print "1"
hub = Connection("http://localhost:9321")
+ print "2"
self.composer_id = hub.con.composer_logon("localhost", 9322)
- #hub.close()
+ print "3"
except Exception, e:
raise e
+ print "4"
return self.composer_id
def composer_logoff(self):
@@ -77,17 +77,14 @@ class RevisorComposer():
raise e
return self.kickstart_file
- def start_compose(self, job_id):
- print "Starting Spin: test.ks"
+ def start_compose(self, job_id, kickstart_file):
try:
- print "########"
- print self.kickstart_file
- print "########"
- except Exception, e:
- base.log.info("Spin creation process interrupted...")
- raise e
+ thread.start_new_thread(thread_start_compose,(self, job_id, kickstart_file))
+ except KeyboardInterrupt:
+ #base.log.info("Shutting Down...")
+ pass
+ return job_id
-# XMLRPC Methods
def do_xmlrpc(self, base):
print "Composer XML-RPC Server Started..."
xinterface = RevisorXMLRPCInterface(self, base.cfg)
@@ -146,7 +143,22 @@ class RevisorComposer():
#defaults.dbname = "revisor-hubdb"
#defaults.configfile = "blaat"
pass
-
+
+ #Threads
+def thread_start_compose(composer, job_id, kickstart_file):
+ print "Starting Spin: test.ks"
+ time.sleep(15)
+ try:
+ print "#######################################################"
+ print kickstart_file
+ print "#######################################################"
+ except Exception, e:
+ #base.log.info("Spin creation process interrupted...")
+ raise e
+ composer.composer_occupied = 0
+ print "Composer", composer.composer_id, "sleeping..."
+ return job_id
+
# The actual XMLRPC Object Server
class RevisorXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):
@@ -170,16 +182,15 @@ class RevisorXMLRPCInterface(object):
except NameError:
pass
self.composer = composer
- self.composer_occupied = 0
- pass
- def are_you_busy(self):
- return self.composer_occupied
+ def are_you_awake(self):
+ return self.composer.composer_occupied
def wake_composer(self, job_id, kickstart_file):
print "Composer", self.composer.composer_id, "has awakened!"
- self.composer_occupied
- self.composer.start_composer(job_id, kickstart_file)
+ self.composer.composer_occupied = 1
+ self.composer.start_compose(job_id, kickstart_file)
+ return 1
def progress_update(self):
return "99.934%"
\ No newline at end of file
diff --git a/revisor/modhub/__init__.py b/revisor/modhub/__init__.py
index c27352a..361867c 100644
--- a/revisor/modhub/__init__.py
+++ b/revisor/modhub/__init__.py
@@ -18,11 +18,13 @@ class RevisorHub():
""" Hub Mode """
def __init__(self):
+ self.count_composers = 0
+ self.thread_count = 0
+ self.composers = 0
pass
def run(self, base):
- self.thread_count = 2
- self.hub = HubMode()
+ self.thread_count += 2
try:
thread.start_new_thread(thread_do_polling,(base.cfg, self))
thread.start_new_thread(thread_do_xmlrpc,(base.cfg, self))
@@ -31,9 +33,30 @@ class RevisorHub():
except KeyboardInterrupt:
#base.log.info("Shutting Down...")
pass
+
+ def db_get_ks(self): #Private function?
+ print "Getting test.ks from Database."
+ return open('revisor/modhub/test.ks', 'rb')
+
+ def db_check_jobs(self):
+ # Wake the Composer, send Job_id and kickstart_file
+ # check jobs in DB
+ print "Checking Database for Jobs"
+ # get KS from DB if any found
+ return self.db_get_ks()
+
+ def db_add_composer(self, composer_host, composer_port):
+ self.count_composers += 1
+ print "New composer added. ComposerID:", self.count_composers, "\nComposerHost:", composer_host, "ComposerPort:", composer_port
+ return self.count_composers
+
+ def db_remove_composer(self, composer_id):
+ self.count_composers -= 1
+ print "Composer removed. ComposerID:", composer_id
+ return self.count_composers
def do_xmlrpc(self, cfg):
- xinterface = RevisorXMLRPCInterface(self.hub, cfg)
+ xinterface = RevisorXMLRPCInterface(self, cfg)
server = RevisorXMLRPCServer(('', int(cfg.hub_port)))
server.register_introspection_functions()
cfg.log.info("Hub XMLRPC Server running on port %s..." % cfg.hub_port)
@@ -46,14 +69,27 @@ class RevisorHub():
time.sleep(0.5)
def do_polling(self, cfg):
+ job_id = 0
while True:
- time.sleep(5)
- print "Poll...!"
+ time.sleep(3)
# Check DB for new KS file.
- # Check if a Composer is present.
- # Check if it's not busy
- # Wake the Composer (Composer will ask for a new file)
- # or... send a *.ks to the Composer
+ binary_ks_file = xmlrpclib.Binary(self.db_check_jobs().read())
+ if self.count_composers > 0:
+ # Check if a Composer is present. Check if it's not busy
+ try:
+ composer = Connection("http://localhost:9322") # Make connection with the chosen Composer
+ if not composer.con.are_you_awake():
+ # Wake the Composer, send Job_id and kicckstart_file
+ job_id += 1
+ print "Ready Composer found! Sending Job#", job_id
+ composer.con.wake_composer(job_id, binary_ks_file)
+ else:
+ print "No ready Composer found! Retry-ing in 7 seconds"
+ time.sleep(7)
+ except Exception, e:
+ raise e
+ else:
+ print "Can't start Job. No Composer logged in!"
def add_options(self, parser):
modhub_group = parser.add_option_group("Hub Options")
@@ -143,30 +179,30 @@ class RevisorXMLRPCInterface(object):
print "Composer ID", composer_id, "is at", process, "%."
return 1
-
-# Our Hub Methods
-class HubMode():
- def __init__(self):
- # FIXME: Load a config file (db information, general settings)
- self.count_composers = 0
+
+# Our Data Classes
+class ComposerList:
+ def __init__(self, composer_id=None, composer_host=None, composer_port=None):
+ self.list = 0
+ try:
+ if composer_id:
+ self.list.append([composer_id, composer_host, composer_port])
+ else:
+ pass
+ except NameError:
+ pass
pass
-
- def db_get_ks(self): #Private function?
- print "Getting test.ks from Database."
- return open('revisor/modhub/test.ks', 'rb')
-
- def db_check_jobs(self):
- #check jobs in DB
- print "Checking Database for Jobs"
- #get KS from DB if any found
- return self.db_get_ks()
-
- def db_add_composer(self, composer_host, composer_port):
- self.count_composers += 1
- print "New composer added. ComposerID:", self.count_composers, "\nComposerHost:", composer_host, "ComposerPort:", composer_port
- return self.count_composers
+
+ def __repr__(self):
+ for i in self.list:
+ print i[0], ",", i[1], ".", i[2], "."
- def db_remove_composer(self, composer_id):
- self.count_composers -= 1
- print "Composer removed. ComposerID:", composer_id
- return self.count_composers
\ No newline at end of file
+ def __add__(self, composer_id, composer_host, composer_port):
+ try:
+ if composer_id:
+ self.list.append([composer_id, composer_host, composer_port])
+ else:
+ pass
+ except NameError:
+ pass
+ pass
\ No newline at end of file
15 years, 4 months
comps
by David Kuestler
Hi,
How do I incorporate my own comps.xml file onto a disc image ?
The --comps option doesn't seem to work.
Is it controlled buy yum ?
Thanks
15 years, 4 months
3 commits - revisor/base.py unity/conf
by Jeroen van Meeuwen
revisor/base.py | 22 +++++++--
unity/conf/f10-install-single-cd.conf | 77 ++++++++--------------------------
2 files changed, 37 insertions(+), 62 deletions(-)
New commits:
commit 466ca2ae8c78f2d4a887645da25883e6d68dc161
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 20:25:01 2008 +0100
Reapply the changes to base.py that were reverted
diff --git a/revisor/base.py b/revisor/base.py
index f8ab413..498a86f 100644
--- a/revisor/base.py
+++ b/revisor/base.py
@@ -1116,7 +1116,8 @@ class RevisorBase:
required_pkgs.extend(['grub'])
if self.cfg.version_from not in [ "F10", "DEVEL" ]:
- required_pkgs.extend(['kernel-xen'])
+ if self.cfg.architecture not in [ "ppc", "ppc64" ]:
+ required_pkgs.extend(['kernel-xen'])
suggested_pkgs = []
@@ -1487,7 +1488,18 @@ class RevisorBase:
# FIXME: Optionally recompose installer images
pbar = self.progress_bar(_("Building Installation Images"))
- if not os.access(os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux", "initrd.img"), os.R_OK):
+ if self.cfg.architecture in [ "ppc", "ppc64" ]:
+ files = [ "images/boot.iso", "ppc/ppc32/vmlinuz", "ppc/ppc64/vmlinuz" ]
+ else:
+ files = [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]
+
+ run_buildinstall = False
+ for file in files:
+ if not os.access("%s/revisor-pungi/%s/%s/%s/os/%s" % (self.cfg.working_directory, self.cfg.version, self.cfg.model, self.cfg.architecture, file), os.R_OK):
+
+ run_buildinstall = True
+
+ if run_buildinstall:
pungicallback = revisor.progress.PungiCallback(pbar, pungi=mypungi, cfg=self.cfg)
mypungi.doBuildinstall(callback=pungicallback)
else:
@@ -1679,8 +1691,10 @@ class RevisorBase:
groups_nondefault.append(group.groupid)
# Now, make sure that any packages listed in the kickstart end
- # up on the first possible disc as well
- ds.addPackages(packageList)
+ # up on the first possible disc as well. But not when composing
+ # the everything spin, please
+ if not self.cfg.everything_spin:
+ ds.addPackages(packageList)
for group in groups_nondefault:
# Do not do this because the installer still has all the groups available
commit d8130e92a2ba5bc38b7b336c85b33233d8113f74
Merge: 013def8... 8f1995f...
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 20:23:47 2008 +0100
Merge branch 'master' of ssh://git.fedorahosted.org/git/revisor
commit 013def8e45af872a53e2b93291726632e0f30b32
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 20:21:58 2008 +0100
Update f10-install-single-cd.conf
diff --git a/unity/conf/f10-install-single-cd.conf b/unity/conf/f10-install-single-cd.conf
index c009ded..b544ff2 100644
--- a/unity/conf/f10-install-single-cd.conf
+++ b/unity/conf/f10-install-single-cd.conf
@@ -6,95 +6,56 @@
##
[revisor]
-media_installation_dvd = 1
+media_installation_dvd = 0
media_installation_cd = 1
-media_installation_tree = 1
-media_utility_rescue = 1
+media_installation_tree = 0
+media_utility_rescue = 0
media_live_optical = 0
media_live_thumb = 0
-dependency_resolve_allow_conflicts = 1
-mode_respin = 1
+# Set these to the absolute minimum
+dependency_resolve_allow_conflicts = 0
+mode_respin = 0
copy_local = 0
answer_yes = 1
-getsource = 1
+getsource = 0
+
bugurl = http://bugzilla.redhat.com
-[f10-i386-single-cd]
-description = Fedora Unity Custom Spin Model for Single CD Installers
-main = /etc/revisor-unity/conf.d/revisor-f10-i386-single-cd.conf
+# Defaults for all models in this file
product_name = Fedora
product_path = Packages
iso_basename = Fedora-Single
iso_label = Fedora
-architecture = i386
version = 10
version_from = F10
-media_installation_dvd=0
-media_installation_cd=1
-media_installation_tree=0
-media_utility_rescue=0
-dependency_resolve_allow_conflicts=0
-mode_respin=0
comps_filter = 1
kickstart_file = /etc/revisor-unity/conf.d/fedora-10-single-cd.cfg
+kickstart_include = 1
+
+[f10-i386-single-cd]
+description = Fedora Unity Custom Spin Model for Single CD Installers
+main = /etc/revisor-unity/conf.d/revisor-f10-i386-single-cd.conf
+architecture = i386
+reuse = /net/localrepo/data/os/distr/fedora/releases/10/Fedora/i386/os/
[f10-x86_64-single-cd]
description = Fedora Unity Custom Spin Model for Single CD Installers
main = /etc/revisor-unity/conf.d/revisor-f10-x86_64-single-cd.conf
-product_name = Fedora
-product_path = Packages
-iso_basename = Fedora-Single
-iso_label = Fedora
architecture = x86_64
-version = 10
-version_from = F10
-media_installation_dvd=0
-media_installation_cd=1
-media_installation_tree=0
-media_utility_rescue=0
-dependency_resolve_allow_conflicts=0
-mode_respin=0
-comps_filter = 1
-kickstart_file = /etc/revisor-unity/conf.d/fedora-10-single-cd.cfg
+reuse = /net/localrepo/data/os/distr/fedora/releases/10/Fedora/x86_64/os/
[f10-ppc-single-cd]
description = Fedora Unity Custom Spin Model for Single CD Installers
main = /etc/revisor-unity/conf.d/revisor-f10-ppc-single-cd.conf
-product_name = Fedora
-product_path = Packages
-iso_basename = Fedora-Single
-iso_label = Fedora
architecture = ppc
-version = 10
-version_from = F10
-media_installation_dvd=0
-media_installation_cd=1
-media_installation_tree=0
-media_utility_rescue=0
-dependency_resolve_allow_conflicts=0
-mode_respin=0
-comps_filter = 1
-kickstart_file = /etc/revisor-unity/conf.d/fedora-10-single-cd.cfg
+reuse = /net/localrepo/data/os/distr/fedora/releases/10/Fedora/ppc/os/
[f10-ppc64-single-cd]
description = Fedora Unity Custom Spin Model for Single CD Installers
main = /etc/revisor-unity/conf.d/revisor-f10-ppc64-single-cd.conf
-product_name = Fedora
-product_path = Packages
-iso_basename = Fedora-Single
-iso_label = Fedora
architecture = ppc64
-version = 10
-version_from = F10
-media_installation_dvd=0
-media_installation_cd=1
-media_installation_tree=0
-media_utility_rescue=0
-dependency_resolve_allow_conflicts=0
-mode_respin=0
-comps_filter = 1
-kickstart_file = /etc/revisor-unity/conf.d/fedora-10-single-cd.cfg
+reuse = /net/localrepo/data/os/distr/fedora/releases/10/Fedora/ppc64/os/
15 years, 4 months
configure.ac revisor/base.py revisor/modcomposer revisor/modhub revisor/plugins.py revisor.spec.in
by Kees Scherpenhuijzen
configure.ac | 1
revisor.spec.in | 32 ++++++
revisor/base.py | 27 +----
revisor/modcomposer/Makefile.am | 8 +
revisor/modcomposer/__init__.py | 185 ++++++++++++++++++++++++++++++++++++++++
revisor/modhub/__init__.py | 159 ++++++++++++++++++++--------------
revisor/modhub/test.ks | 1
revisor/plugins.py | 1
8 files changed, 330 insertions(+), 84 deletions(-)
New commits:
commit 8f1995f5a87ceda262b41e2b3a5e372e868bccab
Author: noik <noik00(a)gmail.com>
Date: Wed Dec 17 18:37:18 2008 +0100
Added modcomposer, in testphase(for interaction with modhub).
Added method in modhub for communication with modcompser and a frame for connecting with the database.
diff --git a/configure.ac b/configure.ac
index 0c9a226..99bf47f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,6 +30,7 @@ revisor.spec
revisor/Makefile
revisor/__init__.py
revisor/modcobbler/Makefile
+revisor/modcomposer/Makefile
revisor/moddelta/Makefile
revisor/modgui/Makefile
revisor/modgui/glade/base_screen.glade
diff --git a/revisor.spec.in b/revisor.spec.in
index 12f0901..fecf360 100644
--- a/revisor.spec.in
+++ b/revisor.spec.in
@@ -2,6 +2,7 @@
%define pkg_cobbler 1
%define pkg_comps 1
+%define pkg_composer 0
%define pkg_delta 0
%define pkg_hub 0
%define pkg_isolinux 1
@@ -69,6 +70,9 @@ Obsoletes: revisor-comps
%if ! %{pkg_cobbler}
Obsoletes: revisor-cobbler
%endif
+%if ! %{pkg_composer}
+Obsoletes: revisor-composer
+%endif
%if ! %{pkg_delta}
Obsoletes: revisor-delta
%endif
@@ -135,6 +139,19 @@ Xen and KVM stuff.
%endif
##
+## Revisor Composer plugin
+##
+%if %{pkg_composer}
+%package composer
+Summary: Revisor Composer, for use with the Hub
+Group: Applications/System
+Requires: revisor-cli = %{version}-%{release}
+
+%description composer
+Revisor build farms need Composers. This is it.
+%endif
+
+##
## Revisor DeltaRPM/DeltaISO plugin
##
%if %{pkg_delta}
@@ -169,7 +186,7 @@ Group: Applications/System
Requires: revisor-cli = %{version}-%{release}
%description hub
-Revisor build farms need a hub. This is it.
+Revisor build farms need a Hub. This is it.
%endif
##
@@ -297,8 +314,8 @@ make install DESTDIR=$RPM_BUILD_ROOT
rm -rf %{buildroot}/%{python_sitelib}/revisor/modcobbler
%endif
-%if ! %{pkg_cobbler}
- rm -rf %{buildroot}/%{python_sitelib}/revisor/modcobbler
+%if ! %{pkg_composer}
+ rm -rf %{buildroot}/%{python_sitelib}/revisor/modcomposer
%endif
%if ! %{pkg_delta}
@@ -391,6 +408,15 @@ rm -rf $RPM_BUILD_ROOT
%{python_sitelib}/revisor/modcobbler/*.pyo
%endif
+%if %{pkg_composer}
+%files composer
+%defattr(-,root,root,-)
+%dir %{python_sitelib}/revisor/modcomposer
+%{python_sitelib}/revisor/modcomposer/*.py
+%{python_sitelib}/revisor/modcomposer/*.pyc
+%{python_sitelib}/revisor/modcomposer/*.pyo
+%endif
+
%if %{pkg_delta}
%files delta
%defattr(-,root,root,-)
diff --git a/revisor/base.py b/revisor/base.py
index ae3b1ad..f8ab413 100644
--- a/revisor/base.py
+++ b/revisor/base.py
@@ -113,6 +113,11 @@ class RevisorBase:
self.hub = self.plugins.modhub
self.cfg.gui_mode = False #hack!
self.hub.run(base=self)
+ elif self.cfg.composer_mode:
+ self.log.debug(_("Running Revisor in Composer mode..."), level=1)
+ self.composer = self.plugins.modcomposer
+ self.cfg.gui_mode = False #hack!
+ self.composer.run(base=self)
elif self.cfg.server_mode:
self.log.debug(_("Running Revisor in RPC Server mode..."), level=1)
self.server = self.plugins.modserver
@@ -1111,8 +1116,7 @@ class RevisorBase:
required_pkgs.extend(['grub'])
if self.cfg.version_from not in [ "F10", "DEVEL" ]:
- if self.cfg.architecture not in [ "ppc", "ppc64" ]:
- required_pkgs.extend(['kernel-xen'])
+ required_pkgs.extend(['kernel-xen'])
suggested_pkgs = []
@@ -1483,18 +1487,7 @@ class RevisorBase:
# FIXME: Optionally recompose installer images
pbar = self.progress_bar(_("Building Installation Images"))
- if self.cfg.architecture in [ "ppc", "ppc64" ]:
- files = [ "images/boot.iso", "ppc/ppc32/vmlinuz", "ppc/ppc64/vmlinuz" ]
- else:
- files = [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]
-
- run_buildinstall = False
- for file in files:
- if not os.access("%s/revisor-pungi/%s/%s/%s/os/%s" % (self.cfg.working_directory, self.cfg.version, self.cfg.model, self.cfg.architecture, file), os.R_OK):
-
- run_buildinstall = True
-
- if run_buildinstall:
+ if not os.access(os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux", "initrd.img"), os.R_OK):
pungicallback = revisor.progress.PungiCallback(pbar, pungi=mypungi, cfg=self.cfg)
mypungi.doBuildinstall(callback=pungicallback)
else:
@@ -1686,10 +1679,8 @@ class RevisorBase:
groups_nondefault.append(group.groupid)
# Now, make sure that any packages listed in the kickstart end
- # up on the first possible disc as well. But not when composing
- # the everything spin, please
- if not self.cfg.everything_spin:
- ds.addPackages(packageList)
+ # up on the first possible disc as well
+ ds.addPackages(packageList)
for group in groups_nondefault:
# Do not do this because the installer still has all the groups available
diff --git a/revisor/modcomposer/Makefile.am b/revisor/modcomposer/Makefile.am
new file mode 100755
index 0000000..52d8c0b
--- /dev/null
+++ b/revisor/modcomposer/Makefile.am
@@ -0,0 +1,8 @@
+PYTHON_FILES = \
+ __init__.py
+
+EXTRA_DIST = \
+ $(PYTHON_FILES)
+
+pydir = $(pythondir)/revisor/modcomposer
+py_PYTHON = $(PYTHON_FILES)
diff --git a/revisor/modcomposer/__init__.py b/revisor/modcomposer/__init__.py
new file mode 100755
index 0000000..32fbfa7
--- /dev/null
+++ b/revisor/modcomposer/__init__.py
@@ -0,0 +1,185 @@
+# Translation
+from rhpl.translate import _, N_, getDefaultLangs
+
+import revisor
+import revisor.base
+import revisor.cfg
+from revisor.client import *
+
+import SimpleXMLRPCServer
+import xmlrpclib
+import os
+import thread
+import time
+
+# Composing Module
+class RevisorComposer():
+ """ Composer Mode """
+
+ def __init__(self):
+ self.composer_id = 0
+ self.job_id = 0
+ pass
+
+ def run(self, base):
+ try:
+ self.composer_id = self.composer_logon()
+ print "composer_id:", self.composer_id
+ # TEST: multiple jobs
+ time.sleep(2)
+ self.do_job()
+ time.sleep(6)
+ self.do_job()
+ time.sleep(6)
+ self.do_job()
+ time.sleep(6)
+ self.do_job()
+ #self.do_xmlrpc(base.cfg)
+ except Exception, e:
+ self.composer_logoff()
+ base.log.info("Shutting down...")
+ raise e
+ self.composer_logoff()
+
+ def do_job(self):
+ self.get_kickstart_file()
+ self.job_id += 1
+ self.start_compose(self.job_id)
+ return 1
+
+ def composer_logon(self):
+ print "Logging on..."
+ try:
+ hub = Connection("http://localhost:9321")
+ self.composer_id = hub.con.composer_logon("localhost", 9322)
+ #hub.close()
+ except Exception, e:
+ raise e
+ return self.composer_id
+
+ def composer_logoff(self):
+ print "Logging off..."
+ try:
+ hub = Connection("http://localhost:9321")
+ hub.con.composer_logoff(self.composer_id)
+ #hub.close()
+ except Exception, e:
+ raise e
+ return self.composer_id
+
+ def get_kickstart_file(self):
+ print "Getting kickstart file."
+ try:
+ hub = Connection("http://localhost:9321")
+ self.kickstart_file = hub.con.get_kickstart_file(self.composer_id)
+ #hub.close()
+ except Exception, e:
+ raise e
+ return self.kickstart_file
+
+ def start_compose(self, job_id):
+ print "Starting Spin: test.ks"
+ try:
+ print "########"
+ print self.kickstart_file
+ print "########"
+ except Exception, e:
+ base.log.info("Spin creation process interrupted...")
+ raise e
+
+# XMLRPC Methods
+ def do_xmlrpc(self, base):
+ print "Composer XML-RPC Server Started..."
+ xinterface = RevisorXMLRPCInterface(self, base.cfg)
+ server = RevisorXMLRPCServer(('', int(base.cfg.composer_port)))
+ server.register_introspection_functions()
+ base.cfg.log.info("Composer XMLRPC Server running on port %s..." % base.cfg.composer_port)
+ server.register_instance(xinterface)
+ while True:
+ try:
+ server.serve_forever()
+ except IOError:
+ # interrupted? try to serve again
+ time.sleep(0.5)
+
+ def add_options(self, parser):
+ modcomposer_group = parser.add_option_group("Composer Options")
+ modcomposer_group.add_option( "--composer",
+ dest = "composer_mode",
+ action = "store_true",
+ default = False,
+ help = _("Use the Composer mode for distributed composing. Use as a client for modhub"))
+ modcomposer_group.add_option( "--composer-port",
+ dest = "composer_port",
+ action = "store",
+ default = "9322",
+ help = _("Port to start Composer mode on."),
+ metavar = "[composer-port]")
+ modcomposer_group.add_option( "--master-ip",
+ dest = "master_ip",
+ action = "store",
+ default = "localhost",
+ help = _("IP Address of where the Revisor Hub is running."),
+ metavar = "[master-ip]")
+ modcomposer_group.add_option( "--master-port",
+ dest = "master_port",
+ action = "store",
+ default = "9321",
+ help = _("Port of where the Revisor Hub is running."),
+ metavar = "[master-port]")
+
+ def check_options(self, cfg, cli_options):
+ # Cheater! Found a cheater!
+ if cli_options.composer_mode:
+ cfg.server_mode = False
+ cfg.composer_mode = True
+ cfg.hub_mode = False
+ cfg.gui_mode = False
+ cfg.cli_mode = False
+
+ def set_defaults(self, defaults):
+ #defaults.db_server = x.x.x.x
+ #defaults.db_type = mysql #for later development
+ #defaults.setport = "3306"
+ #defaults.username = "blaat"
+ #defaults.password = "pass"
+ #defaults.dbname = "revisor-hubdb"
+ #defaults.configfile = "blaat"
+ pass
+
+
+# The actual XMLRPC Object Server
+class RevisorXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):
+ """ The actual XML-RPC Server object"""
+ def __init__(self, args):
+ self.allow_reuse_address = True
+ SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, args)
+
+
+# XMLRPC Methods: Accessable by the Hub
+class RevisorXMLRPCInterface(object):
+ """ Functionality to expose to the XML-RPC interface. """
+
+ def __init__(self, composer, cfg=None):
+ try:
+ if cfg:
+ self.cfg = cfg
+ else:
+ # FIXME: Initialize ConfigStore or return Error
+ pass
+ except NameError:
+ pass
+ self.composer = composer
+ self.composer_occupied = 0
+ pass
+
+ def are_you_busy(self):
+ return self.composer_occupied
+
+ def wake_composer(self, job_id, kickstart_file):
+ print "Composer", self.composer.composer_id, "has awakened!"
+ self.composer_occupied
+ self.composer.start_composer(job_id, kickstart_file)
+
+ def progress_update(self):
+ return "99.934%"
\ No newline at end of file
diff --git a/revisor/modhub/__init__.py b/revisor/modhub/__init__.py
index db55a7a..c27352a 100644
--- a/revisor/modhub/__init__.py
+++ b/revisor/modhub/__init__.py
@@ -4,10 +4,13 @@ from rhpl.translate import _, N_, getDefaultLangs
import revisor
import revisor.base
import revisor.cfg
+from revisor.client import *
import SimpleXMLRPCServer
import xmlrpclib
import os
+import thread
+import time
#import logger.Logger
@@ -17,32 +20,40 @@ class RevisorHub():
def __init__(self):
pass
+ def run(self, base):
+ self.thread_count = 2
+ self.hub = HubMode()
+ try:
+ thread.start_new_thread(thread_do_polling,(base.cfg, self))
+ thread.start_new_thread(thread_do_xmlrpc,(base.cfg, self))
+ while self.thread_count > 1:
+ pass
+ except KeyboardInterrupt:
+ #base.log.info("Shutting Down...")
+ pass
+
def do_xmlrpc(self, cfg):
- """ Get our xmlrpc hub running. """
- xinterface = RevisorXMLRPCInterface(cfg)
- hub = RevisorXMLRPCServer(('', int(cfg.hub_port)))
- hub.register_introspection_functions()
- cfg.log.info("XMLRPC Server running on port %s" % cfg.hub_port)
- hub.register_instance(xinterface)
+ xinterface = RevisorXMLRPCInterface(self.hub, cfg)
+ server = RevisorXMLRPCServer(('', int(cfg.hub_port)))
+ server.register_introspection_functions()
+ cfg.log.info("Hub XMLRPC Server running on port %s..." % cfg.hub_port)
+ server.register_instance(xinterface)
while True:
try:
- hub.serve_forever()
+ server.serve_forever()
except IOError:
# interrupted? try to serve again
time.sleep(0.5)
-
- def run(self, base):
- print "HUB mode started!"
- if base.cfg.fork_mode:
- pid = os.fork()
- self.do_xmlrpc(base.cfg)
- else:
- try:
- self.do_xmlrpc(base.cfg)
- pass
- except KeyboardInterrupt:
- #base.log.info("Shutting down...")
- pass
+
+ def do_polling(self, cfg):
+ while True:
+ time.sleep(5)
+ print "Poll...!"
+ # Check DB for new KS file.
+ # Check if a Composer is present.
+ # Check if it's not busy
+ # Wake the Composer (Composer will ask for a new file)
+ # or... send a *.ks to the Composer
def add_options(self, parser):
modhub_group = parser.add_option_group("Hub Options")
@@ -57,12 +68,6 @@ class RevisorHub():
default = "9321",
help = _("Port to start Hub mode on."),
metavar = "[hub-port]")
- modhub_group.add_option("--forkhub",
- dest = "forkhub_mode",
- action = "store",
- default = False,
- help = _("Start the Hub mode and fork."),
- metavar = "[boolean]")
def check_options(self, cfg, cli_options):
# Cheater! Found a cheater!
@@ -83,10 +88,29 @@ class RevisorHub():
pass
+# Threads
+def thread_do_xmlrpc(cfg, revisorHub):
+ print "Hub XML-RPC Thread Started..."
+ revisorHub.do_xmlrpc(cfg)
+
+def thread_do_polling(cfg, revisorHub):
+ print "Hub Polling Thread Started..."
+ revisorHub.do_polling(cfg)
+
+
+# The actual XMLRPC Object Server
+class RevisorXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):
+ """ The actual XML-RPC Server object"""
+ def __init__(self, args):
+ self.allow_reuse_address = True
+ SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, args)
+
+
+# XMLRPC Methods: Accessable to the Composers
class RevisorXMLRPCInterface(object):
""" Functionality to expose to the XML-RPC interface. """
- def __init__(self, cfg=None):
+ def __init__(self, hub, cfg=None):
try:
if cfg:
self.cfg = cfg
@@ -95,45 +119,54 @@ class RevisorXMLRPCInterface(object):
pass
except NameError:
pass
-
- self.sessions = dict()
- self.next_session = 0
+ self.hub = hub
pass
-
-class Session(object):
- def __init__(self, id):
- self.id = id
- print "Hub session initted"
- self.revisor = HubMode()
-
- def set_status(self, id, status):
- if id == self.id:
- self.revisor.set_status(id, status)
-
-class RevisorXMLRPCServer(SimpleXMLRPCServer.SimpleXMLRPCServer):
- """ The actual XML-RPC Server object"""
- def __init__(self, args):
- self.allow_reuse_address = True
- SimpleXMLRPCServer.SimpleXMLRPCServer.__init__(self, args)
-
-
+
+ def get_kickstart_file(self, composer_id):
+ print "Fetching kickstart file for Composer#", composer_id, "."
+ #Test line!
+ #ks_file = xmlrpclib.Binary(open('revisor/modhub/test.ks', 'rb').read())
+ binary_ks_file = xmlrpclib.Binary(self.hub.db_check_jobs().read())
+ return binary_ks_file
+
+ def composer_logon(self, composer_host, composer_port):
+ composer_id = self.hub.db_add_composer(composer_host, composer_port)
+ print "Composer ID:", composer_id, "logging on..."
+ return composer_id
+
+ def composer_logoff(self, composer_id):
+ print "Composer ID:", composer_id, "logging off..."
+ self.hub.db_remove_composer(composer_id)
+ return composer_id
+
+ def process_update(self, composer_id, process):
+ print "Composer ID", composer_id, "is at", process, "%."
+ return 1
+
+
+# Our Hub Methods
class HubMode():
def __init__(self):
+ # FIXME: Load a config file (db information, general settings)
+ self.count_composers = 0
pass
-
- def set_status(self, id, status):
- print id
- print status
- pass
-
- def db_get_ks():
- pass
-
- def check_jobs():
+
+ def db_get_ks(self): #Private function?
+ print "Getting test.ks from Database."
+ return open('revisor/modhub/test.ks', 'rb')
+
+ def db_check_jobs(self):
#check jobs in DB
+ print "Checking Database for Jobs"
#get KS from DB if any found
- pass
-
- def add_composer():
- #function to add composer for distribution idea
- pass
+ return self.db_get_ks()
+
+ def db_add_composer(self, composer_host, composer_port):
+ self.count_composers += 1
+ print "New composer added. ComposerID:", self.count_composers, "\nComposerHost:", composer_host, "ComposerPort:", composer_port
+ return self.count_composers
+
+ def db_remove_composer(self, composer_id):
+ self.count_composers -= 1
+ print "Composer removed. ComposerID:", composer_id
+ return self.count_composers
\ No newline at end of file
diff --git a/revisor/modhub/test.ks b/revisor/modhub/test.ks
new file mode 100755
index 0000000..2d4cf47
--- /dev/null
+++ b/revisor/modhub/test.ks
@@ -0,0 +1 @@
+Test_Content test_ks
\ No newline at end of file
diff --git a/revisor/plugins.py b/revisor/plugins.py
index fae8758..2451d94 100644
--- a/revisor/plugins.py
+++ b/revisor/plugins.py
@@ -32,6 +32,7 @@ class RevisorPlugins:
"""Specifies a list of plugins to test for, and triggers running those tests"""
self.plugins = {
'modcobbler': False,
+ 'modcomposer': False,
'moddelta': False,
'modgui': False,
'modisolinux': False,
15 years, 4 months
revisor/base.py
by Jeroen van Meeuwen
revisor/base.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit f902b38887f12499689779c0de7d9c9b870fd649
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 03:36:59 2008 +0100
Fix indentation
diff --git a/revisor/base.py b/revisor/base.py
index 30d0feb..ae3b1ad 100644
--- a/revisor/base.py
+++ b/revisor/base.py
@@ -1492,7 +1492,7 @@ class RevisorBase:
for file in files:
if not os.access("%s/revisor-pungi/%s/%s/%s/os/%s" % (self.cfg.working_directory, self.cfg.version, self.cfg.model, self.cfg.architecture, file), os.R_OK):
- run_buildinstall = True
+ run_buildinstall = True
if run_buildinstall:
pungicallback = revisor.progress.PungiCallback(pbar, pungi=mypungi, cfg=self.cfg)
15 years, 4 months
revisor/base.py
by Jeroen van Meeuwen
revisor/base.py | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
New commits:
commit a1cf062257a55e144701bf57a741c055d3a3bf5d
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 03:35:44 2008 +0100
Fix the checking as well
diff --git a/revisor/base.py b/revisor/base.py
index 32bb0df..30d0feb 100644
--- a/revisor/base.py
+++ b/revisor/base.py
@@ -1483,7 +1483,18 @@ class RevisorBase:
# FIXME: Optionally recompose installer images
pbar = self.progress_bar(_("Building Installation Images"))
- if not os.access(os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os", "isolinux", "initrd.img"), os.R_OK):
+ if self.cfg.architecture in [ "ppc", "ppc64" ]:
+ files = [ "images/boot.iso", "ppc/ppc32/vmlinuz", "ppc/ppc64/vmlinuz" ]
+ else:
+ files = [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]
+
+ run_buildinstall = False
+ for file in files:
+ if not os.access("%s/revisor-pungi/%s/%s/%s/os/%s" % (self.cfg.working_directory, self.cfg.version, self.cfg.model, self.cfg.architecture, file), os.R_OK):
+
+ run_buildinstall = True
+
+ if run_buildinstall:
pungicallback = revisor.progress.PungiCallback(pbar, pungi=mypungi, cfg=self.cfg)
mypungi.doBuildinstall(callback=pungicallback)
else:
15 years, 4 months
3 commits - revisor/modreuseinstaller
by Jeroen van Meeuwen
revisor/modreuseinstaller/__init__.py | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
New commits:
commit 0e525aa70f3f1220154550c9fe296d5865cccc58
Merge: 5f2fa55... d48c986...
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 03:12:21 2008 +0100
Merge branch 'master' of ssh://git.fedorahosted.org/git/revisor
commit 5f2fa55d85e488df78543540890c9efa387ad88d
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 03:12:04 2008 +0100
Fix reuseinstaller for ppc archs
diff --git a/revisor/modreuseinstaller/__init__.py b/revisor/modreuseinstaller/__init__.py
index 74414db..71411c0 100644
--- a/revisor/modreuseinstaller/__init__.py
+++ b/revisor/modreuseinstaller/__init__.py
@@ -55,8 +55,13 @@ class RevisorReuseinstaller:
if not cli_options.reuse == "":
self.cfg.reuse = cli_options.reuse
+
+ if self.cfg.architecture in [ "ppc", "ppc64" ]:
+ files = [ "images/boot.iso", "ppc/ppc32/vmlinuz", "ppc/ppc64/vmlinuz" ]
+ else:
+ files = [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]
# FIXME: This only does local trees right now
- for file in [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]:
+ for file in files:
if not os.access("%s/%s" % (cli_options.reuse,file), os.R_OK):
self.cfg.reuse = False
self.log.error(_("Could not access %s/%s, required for reusing a previous tree. Cancelling the reuse of installer images") % (cli_options.reuse,file), recoverable=True)
@@ -69,11 +74,17 @@ class RevisorReuseinstaller:
print self.cfg.reuse
return
+ if self.cfg.architecture in [ "ppc", "ppc64" ]:
+ dirs = [ "etc", "images", "ppc" ]
+ else:
+ dirs = [ "isolinux", "images" ]
+
target = os.path.join(self.cfg.working_directory, "revisor-pungi", self.cfg.version, self.cfg.model, self.cfg.architecture, "os")
- self.log.debug(_("Copying %s/%s to %s/%s") % (self.cfg.reuse, "images", target, "images"), level=9)
- shutil.copytree("%s/%s" % (self.cfg.reuse, "images"), "%s/%s" % (target, "images"))
- self.log.debug(_("Copying %s/%s to %s/%s") % (self.cfg.reuse, "isolinux", target, "isolinux"), level=9)
- shutil.copytree("%s/%s" % (self.cfg.reuse, "isolinux"), "%s/%s" % (target, "isolinux"))
+
+ for dir in dirs:
+ self.log.debug(_("Copying %s/%s to %s/%s") % (self.cfg.reuse, dir, target, dir), level=9)
+ shutil.copytree("%s/%s" % (self.cfg.reuse, dir), "%s/%s" % (target, dir))
+
self.log.debug(_("Copying %s/.discinfo to %s/.discinfo") % (self.cfg.reuse, target), level=9)
shutil.copy("%s/.discinfo" % (self.cfg.reuse), target)
if os.access("%s/.treeinfo" % (self.cfg.reuse), os.R_OK):
commit d9f802b39017f90c28ce5964c9e7f1b113dca4a4
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Wed Dec 17 03:07:38 2008 +0100
Remove duplicate boot.iso
diff --git a/revisor/modreuseinstaller/__init__.py b/revisor/modreuseinstaller/__init__.py
index b5bdd49..74414db 100644
--- a/revisor/modreuseinstaller/__init__.py
+++ b/revisor/modreuseinstaller/__init__.py
@@ -56,7 +56,7 @@ class RevisorReuseinstaller:
if not cli_options.reuse == "":
self.cfg.reuse = cli_options.reuse
# FIXME: This only does local trees right now
- for file in [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso", "images/boot.iso" ]:
+ for file in [ "isolinux/isolinux.cfg", "isolinux/isolinux.bin", "isolinux/vmlinuz", "isolinux/initrd.img", "images/boot.iso" ]:
if not os.access("%s/%s" % (cli_options.reuse,file), os.R_OK):
self.cfg.reuse = False
self.log.error(_("Could not access %s/%s, required for reusing a previous tree. Cancelling the reuse of installer images") % (cli_options.reuse,file), recoverable=True)
15 years, 4 months
unity/conf
by Jeroen van Meeuwen
unity/conf/f9-install-respin.conf | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
New commits:
commit d48c98636f505c29037a82b7e1ebb933f99a491d
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Thu Dec 18 02:36:16 2008 +0100
ppc needs respin kickstart config as well... and no yum pkgordering
diff --git a/unity/conf/f9-install-respin.conf b/unity/conf/f9-install-respin.conf
index 297eee2..6130b7f 100644
--- a/unity/conf/f9-install-respin.conf
+++ b/unity/conf/f9-install-respin.conf
@@ -33,7 +33,6 @@ architecture = i386
version = 9
version_from = F9
kickstart_file = /etc/revisor/conf.d/fedora-9-gold.cfg
-pkgorder_style = yum
[f9-x86_64-respin]
description = Fedora Unity Re-Spin Model for Fedora 9
@@ -46,7 +45,6 @@ architecture = x86_64
version = 9
version_from = F9
kickstart_file = /etc/revisor/conf.d/fedora-9-respin.cfg
-#pkgorder_style = yum
[f9-ppc-respin]
description = Fedora Unity Re-Spin Model for Fedora 9
@@ -58,8 +56,7 @@ iso_label = FU $datestamp
architecture = ppc
version = 9
version_from = F9
-kickstart_file = /etc/revisor/conf.d/fedora-9-gold.cfg
-pkgorder_style = yum
+kickstart_file = /etc/revisor/conf.d/fedora-9-respin.cfg
[f9-ppc64-respin]
description = Fedora Unity Re-Spin Model for Fedora 9
@@ -72,5 +69,4 @@ architecture = ppc64
version = 9
version_from = F9
kickstart_file = /etc/revisor/conf.d/fedora-9-gold.cfg
-pkgorder_style = yum
15 years, 4 months