summaryrefslogtreecommitdiffstats
path: root/perl-install/share/po/DrakX.pot
diff options
context:
space:
mode:
authorPablo Saratxaga <pablo@mandriva.com>2000-07-10 14:08:39 +0000
committerPablo Saratxaga <pablo@mandriva.com>2000-07-10 14:08:39 +0000
commit5c86c94d60e4d92f313a8cdab8fd0c937675620a (patch)
tree0926e300b381329075194bfe681b983c483cd23d /perl-install/share/po/DrakX.pot
parent582c3788afaf307fcf9c322997621330946b842b (diff)
downloaddrakx-5c86c94d60e4d92f313a8cdab8fd0c937675620a.tar
drakx-5c86c94d60e4d92f313a8cdab8fd0c937675620a.tar.gz
drakx-5c86c94d60e4d92f313a8cdab8fd0c937675620a.tar.bz2
drakx-5c86c94d60e4d92f313a8cdab8fd0c937675620a.tar.xz
drakx-5c86c94d60e4d92f313a8cdab8fd0c937675620a.zip
updated Bulgarian file
Diffstat (limited to 'perl-install/share/po/DrakX.pot')
-rw-r--r--perl-install/share/po/DrakX.pot362
1 files changed, 181 insertions, 181 deletions
diff --git a/perl-install/share/po/DrakX.pot b/perl-install/share/po/DrakX.pot
index 2c254dfe6..e54ce313a 100644
--- a/perl-install/share/po/DrakX.pot
+++ b/perl-install/share/po/DrakX.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-07-03 16:38+0200\n"
+"POT-Creation-Date: 2000-07-10 16:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -402,14 +402,14 @@ msgstr ""
msgid "automagic"
msgstr ""
-#: ../../any.pm_.c:60 ../../install_steps_interactive.pm_.c:816
-#: ../../install_steps_interactive.pm_.c:826
+#: ../../any.pm_.c:60 ../../install_steps_interactive.pm_.c:821
+#: ../../install_steps_interactive.pm_.c:831
msgid "First sector of boot partition"
msgstr ""
-#: ../../any.pm_.c:60 ../../install_steps_interactive.pm_.c:816
-#: ../../install_steps_interactive.pm_.c:826
-#: ../../install_steps_interactive.pm_.c:846
+#: ../../any.pm_.c:60 ../../install_steps_interactive.pm_.c:821
+#: ../../install_steps_interactive.pm_.c:831
+#: ../../install_steps_interactive.pm_.c:851
msgid "First sector of drive (MBR)"
msgstr ""
@@ -417,7 +417,7 @@ msgstr ""
msgid "LILO/grub Installation"
msgstr ""
-#: ../../any.pm_.c:66 ../../install_steps_interactive.pm_.c:819
+#: ../../any.pm_.c:66 ../../install_steps_interactive.pm_.c:824
msgid "Where do you want to install the bootloader?"
msgstr ""
@@ -445,7 +445,7 @@ msgstr ""
msgid "compact"
msgstr ""
-#: ../../any.pm_.c:87 ../../install_steps_interactive.pm_.c:830
+#: ../../any.pm_.c:87 ../../install_steps_interactive.pm_.c:835
msgid "Delay before booting default image"
msgstr ""
@@ -453,26 +453,26 @@ msgstr ""
msgid "Video mode"
msgstr ""
-#: ../../any.pm_.c:90 ../../install_steps_interactive.pm_.c:531
-#: ../../install_steps_interactive.pm_.c:654
-#: ../../install_steps_interactive.pm_.c:705
-#: ../../install_steps_interactive.pm_.c:832 ../../printerdrake.pm_.c:85
+#: ../../any.pm_.c:90 ../../install_steps_interactive.pm_.c:536
+#: ../../install_steps_interactive.pm_.c:659
+#: ../../install_steps_interactive.pm_.c:710
+#: ../../install_steps_interactive.pm_.c:837 ../../printerdrake.pm_.c:85
#: ../../printerdrake.pm_.c:110 ../../standalone/adduserdrake_.c:42
msgid "Password"
msgstr ""
-#: ../../any.pm_.c:91 ../../install_steps_interactive.pm_.c:655
-#: ../../install_steps_interactive.pm_.c:706
-#: ../../install_steps_interactive.pm_.c:833
+#: ../../any.pm_.c:91 ../../install_steps_interactive.pm_.c:660
+#: ../../install_steps_interactive.pm_.c:711
+#: ../../install_steps_interactive.pm_.c:838
#: ../../standalone/adduserdrake_.c:43
msgid "Password (again)"
msgstr ""
-#: ../../any.pm_.c:92 ../../install_steps_interactive.pm_.c:834
+#: ../../any.pm_.c:92 ../../install_steps_interactive.pm_.c:839
msgid "Restrict command line options"
msgstr ""
-#: ../../any.pm_.c:92 ../../install_steps_interactive.pm_.c:834
+#: ../../any.pm_.c:92 ../../install_steps_interactive.pm_.c:839
msgid "restrict"
msgstr ""
@@ -480,21 +480,21 @@ msgstr ""
msgid "Bootloader main options"
msgstr ""
-#: ../../any.pm_.c:101 ../../install_steps_interactive.pm_.c:841
+#: ../../any.pm_.c:101 ../../install_steps_interactive.pm_.c:846
msgid ""
"Option ``Restrict command line options'' is of no use without a password"
msgstr ""
-#: ../../any.pm_.c:102 ../../install_steps_interactive.pm_.c:664
-#: ../../install_steps_interactive.pm_.c:719
-#: ../../install_steps_interactive.pm_.c:842
+#: ../../any.pm_.c:102 ../../install_steps_interactive.pm_.c:669
+#: ../../install_steps_interactive.pm_.c:724
+#: ../../install_steps_interactive.pm_.c:847
#: ../../standalone/adduserdrake_.c:56
msgid "Please try again"
msgstr ""
-#: ../../any.pm_.c:102 ../../install_steps_interactive.pm_.c:664
-#: ../../install_steps_interactive.pm_.c:719
-#: ../../install_steps_interactive.pm_.c:842
+#: ../../any.pm_.c:102 ../../install_steps_interactive.pm_.c:669
+#: ../../install_steps_interactive.pm_.c:724
+#: ../../install_steps_interactive.pm_.c:847
#: ../../standalone/adduserdrake_.c:56
msgid "The passwords do not match"
msgstr ""
@@ -505,19 +505,19 @@ msgid ""
"You can add some more or change the existing ones."
msgstr ""
-#: ../../any.pm_.c:114 ../../install_steps_interactive.pm_.c:854
+#: ../../any.pm_.c:114 ../../install_steps_interactive.pm_.c:859
#: ../../printerdrake.pm_.c:245 ../../standalone/rpmdrake_.c:302
msgid "Add"
msgstr ""
#: ../../any.pm_.c:114 ../../diskdrake.pm_.c:42
-#: ../../install_steps_interactive.pm_.c:699
-#: ../../install_steps_interactive.pm_.c:854 ../../printerdrake.pm_.c:245
+#: ../../install_steps_interactive.pm_.c:704
+#: ../../install_steps_interactive.pm_.c:859 ../../printerdrake.pm_.c:245
#: ../../standalone/adduserdrake_.c:36
msgid "Done"
msgstr ""
-#: ../../any.pm_.c:123 ../../install_steps_interactive.pm_.c:863
+#: ../../any.pm_.c:123 ../../install_steps_interactive.pm_.c:868
msgid "Linux"
msgstr ""
@@ -525,29 +525,29 @@ msgstr ""
msgid "Other OS (windows...)"
msgstr ""
-#: ../../any.pm_.c:123 ../../install_steps_interactive.pm_.c:863
+#: ../../any.pm_.c:123 ../../install_steps_interactive.pm_.c:868
msgid "Which type of entry do you want to add?"
msgstr ""
-#: ../../any.pm_.c:142 ../../install_steps_interactive.pm_.c:883
+#: ../../any.pm_.c:142 ../../install_steps_interactive.pm_.c:888
msgid "Image"
msgstr ""
#: ../../any.pm_.c:143 ../../any.pm_.c:151
-#: ../../install_steps_interactive.pm_.c:885
-#: ../../install_steps_interactive.pm_.c:893
+#: ../../install_steps_interactive.pm_.c:890
+#: ../../install_steps_interactive.pm_.c:898
msgid "Root"
msgstr ""
-#: ../../any.pm_.c:144 ../../install_steps_interactive.pm_.c:886
+#: ../../any.pm_.c:144 ../../install_steps_interactive.pm_.c:891
msgid "Append"
msgstr ""
-#: ../../any.pm_.c:145 ../../install_steps_interactive.pm_.c:887
+#: ../../any.pm_.c:145 ../../install_steps_interactive.pm_.c:892
msgid "Initrd"
msgstr ""
-#: ../../any.pm_.c:146 ../../install_steps_interactive.pm_.c:888
+#: ../../any.pm_.c:146 ../../install_steps_interactive.pm_.c:893
msgid "Read-write"
msgstr ""
@@ -559,17 +559,17 @@ msgstr ""
msgid "Unsafe"
msgstr ""
-#: ../../any.pm_.c:158 ../../install_steps_interactive.pm_.c:897
+#: ../../any.pm_.c:158 ../../install_steps_interactive.pm_.c:902
msgid "Label"
msgstr ""
-#: ../../any.pm_.c:160 ../../install_steps_interactive.pm_.c:899
+#: ../../any.pm_.c:160 ../../install_steps_interactive.pm_.c:904
msgid "Default"
msgstr ""
#: ../../any.pm_.c:163 ../../install_steps_gtk.pm_.c:678
-#: ../../install_steps_interactive.pm_.c:652
-#: ../../install_steps_interactive.pm_.c:902 ../../interactive.pm_.c:74
+#: ../../install_steps_interactive.pm_.c:657
+#: ../../install_steps_interactive.pm_.c:907 ../../interactive.pm_.c:74
#: ../../interactive.pm_.c:84 ../../interactive.pm_.c:224
#: ../../interactive_newt.pm_.c:49 ../../interactive_newt.pm_.c:98
#: ../../interactive_stdio.pm_.c:27 ../../my_gtk.pm_.c:200
@@ -577,11 +577,11 @@ msgstr ""
msgid "Ok"
msgstr ""
-#: ../../any.pm_.c:163 ../../install_steps_interactive.pm_.c:902
+#: ../../any.pm_.c:163 ../../install_steps_interactive.pm_.c:907
msgid "Remove entry"
msgstr ""
-#: ../../any.pm_.c:166 ../../install_steps_interactive.pm_.c:905
+#: ../../any.pm_.c:166 ../../install_steps_interactive.pm_.c:910
msgid "Empty label not allowed"
msgstr ""
@@ -757,7 +757,7 @@ msgstr ""
msgid "Be careful: this operation is dangerous."
msgstr ""
-#: ../../diskdrake.pm_.c:198 ../../install_any.pm_.c:333
+#: ../../diskdrake.pm_.c:198 ../../install_any.pm_.c:336
#: ../../install_steps.pm_.c:74 ../../install_steps_interactive.pm_.c:40
#: ../../standalone/diskdrake_.c:60 ../../standalone/rpmdrake_.c:294
#: ../../standalone/rpmdrake_.c:304
@@ -1772,7 +1772,7 @@ msgstr ""
msgid "Choose your keyboard"
msgstr ""
-#: ../../install2.pm_.c:49 ../../install_steps_interactive.pm_.c:318
+#: ../../install2.pm_.c:49 ../../install_steps_interactive.pm_.c:323
msgid "Miscellaneous"
msgstr ""
@@ -1812,8 +1812,8 @@ msgstr ""
msgid "Configure printer"
msgstr ""
-#: ../../install2.pm_.c:59 ../../install_steps_interactive.pm_.c:652
-#: ../../install_steps_interactive.pm_.c:653
+#: ../../install2.pm_.c:59 ../../install_steps_interactive.pm_.c:657
+#: ../../install_steps_interactive.pm_.c:658
msgid "Set root password"
msgstr ""
@@ -1848,40 +1848,40 @@ msgid ""
"Then choose action ``Mount point'' and set it to `/'"
msgstr ""
-#: ../../install_any.pm_.c:334 ../../standalone/diskdrake_.c:61
+#: ../../install_any.pm_.c:337 ../../standalone/diskdrake_.c:61
msgid ""
"I can't read your partition table, it's too corrupted for me :(\n"
"I'll try to go on blanking bad partitions"
msgstr ""
-#: ../../install_any.pm_.c:351
+#: ../../install_any.pm_.c:354
msgid ""
"DiskDrake failed to read correctly the partition table.\n"
"Continue at your own risk!"
msgstr ""
-#: ../../install_any.pm_.c:381
+#: ../../install_any.pm_.c:384
msgid "Searching root partition."
msgstr ""
-#: ../../install_any.pm_.c:410
+#: ../../install_any.pm_.c:413
msgid "Information"
msgstr ""
-#: ../../install_any.pm_.c:411
+#: ../../install_any.pm_.c:414
#, c-format
msgid "%s: This is not a root partition, please select another one."
msgstr ""
-#: ../../install_any.pm_.c:413
+#: ../../install_any.pm_.c:416
msgid "No root partition found"
msgstr ""
-#: ../../install_any.pm_.c:451
+#: ../../install_any.pm_.c:454
msgid "Can't use broadcast with no NIS domain"
msgstr ""
-#: ../../install_any.pm_.c:615
+#: ../../install_any.pm_.c:618
msgid "Error reading file $f"
msgstr ""
@@ -1896,7 +1896,7 @@ msgstr ""
msgid "Duplicate mount point %s"
msgstr ""
-#: ../../install_steps.pm_.c:323
+#: ../../install_steps.pm_.c:328
msgid ""
"Some important packages didn't get installed properly.\n"
"Either your cdrom drive or your cdrom is defective.\n"
@@ -1904,12 +1904,12 @@ msgid ""
"Mandrake/RPMS/*.rpm\"\n"
msgstr ""
-#: ../../install_steps.pm_.c:390
+#: ../../install_steps.pm_.c:395
#, c-format
msgid "Welcome to %s"
msgstr ""
-#: ../../install_steps.pm_.c:742
+#: ../../install_steps.pm_.c:747
msgid "No floppy drive available"
msgstr ""
@@ -1964,7 +1964,7 @@ msgid "Install"
msgstr ""
#: ../../install_steps_graphical.pm_.c:492 ../../install_steps_gtk.pm_.c:537
-#: ../../install_steps_interactive.pm_.c:382
+#: ../../install_steps_interactive.pm_.c:387
msgid "Installing"
msgstr ""
@@ -1981,7 +1981,7 @@ msgid "Total time "
msgstr ""
#: ../../install_steps_graphical.pm_.c:507 ../../install_steps_gtk.pm_.c:555
-#: ../../install_steps_interactive.pm_.c:382
+#: ../../install_steps_interactive.pm_.c:387
msgid "Preparing installation"
msgstr ""
@@ -2000,7 +2000,7 @@ msgid "There was an error ordering packages:"
msgstr ""
#: ../../install_steps_graphical.pm_.c:577
-#: ../../install_steps_interactive.pm_.c:1031
+#: ../../install_steps_interactive.pm_.c:1036
msgid "Use existing configuration for X11?"
msgstr ""
@@ -2341,112 +2341,112 @@ msgstr ""
msgid "Your system has not enough space left for installation or upgrade"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:317
+#: ../../install_steps_interactive.pm_.c:322
msgid "Package Group Selection"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:320
+#: ../../install_steps_interactive.pm_.c:325
msgid "Individual package selection"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:360
+#: ../../install_steps_interactive.pm_.c:365
msgid ""
"If you have all the CDs in the list below, click Ok.\n"
"If you have none of those CDs, click Cancel.\n"
"If only some CDs are missing, unselect them, then click Ok."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:363
+#: ../../install_steps_interactive.pm_.c:368
#, c-format
msgid "Cd-Rom labeled \"%s\""
msgstr ""
-#: ../../install_steps_interactive.pm_.c:391
+#: ../../install_steps_interactive.pm_.c:396
msgid ""
"Installing package %s\n"
"%d%%"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:400
+#: ../../install_steps_interactive.pm_.c:405
msgid "Post-install configuration"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:410
+#: ../../install_steps_interactive.pm_.c:415
msgid "Keep the current IP configuration"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:411
+#: ../../install_steps_interactive.pm_.c:416
msgid "Reconfigure network now"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:412
+#: ../../install_steps_interactive.pm_.c:417
msgid "Do not set up networking"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:415
#: ../../install_steps_interactive.pm_.c:420
+#: ../../install_steps_interactive.pm_.c:425
msgid "Network Configuration"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:416
+#: ../../install_steps_interactive.pm_.c:421
msgid "Local networking has already been configured. Do you want to:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:421
+#: ../../install_steps_interactive.pm_.c:426
msgid "Do you want to configure a local network for your system?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:427
+#: ../../install_steps_interactive.pm_.c:432
msgid "no network card found"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:449
+#: ../../install_steps_interactive.pm_.c:454
msgid "Modem Configuration"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:450
+#: ../../install_steps_interactive.pm_.c:455
msgid ""
"Do you want to configure a dialup connection with modem for your system?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:462
-#: ../../install_steps_interactive.pm_.c:463
+#: ../../install_steps_interactive.pm_.c:467
+#: ../../install_steps_interactive.pm_.c:468
#, c-format
msgid "Configuring network device %s"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:464
+#: ../../install_steps_interactive.pm_.c:469
msgid ""
"Please enter the IP configuration for this machine.\n"
"Each item should be entered as an IP address in dotted-decimal\n"
"notation (for example, 1.2.3.4)."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:467
+#: ../../install_steps_interactive.pm_.c:472
msgid "Automatic IP"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:467
+#: ../../install_steps_interactive.pm_.c:472
msgid "IP address:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:467
+#: ../../install_steps_interactive.pm_.c:472
msgid "Netmask:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:468
+#: ../../install_steps_interactive.pm_.c:473
msgid "(bootp/dhcp)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:474 ../../printerdrake.pm_.c:89
+#: ../../install_steps_interactive.pm_.c:479 ../../printerdrake.pm_.c:89
msgid "IP address should be in format 1.2.3.4"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:492
+#: ../../install_steps_interactive.pm_.c:497
msgid "Configuring network"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:493
+#: ../../install_steps_interactive.pm_.c:498
msgid ""
"Please enter your host name.\n"
"Your host name should be a fully-qualified host name,\n"
@@ -2454,79 +2454,79 @@ msgid ""
"You may also enter the IP address of the gateway if you have one"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:497
+#: ../../install_steps_interactive.pm_.c:502
msgid "DNS server:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:497
+#: ../../install_steps_interactive.pm_.c:502
msgid "Gateway device:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:497
+#: ../../install_steps_interactive.pm_.c:502
msgid "Gateway:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:497
+#: ../../install_steps_interactive.pm_.c:502
msgid "Host name:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:510
+#: ../../install_steps_interactive.pm_.c:515
msgid "Try to find a modem?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:521
+#: ../../install_steps_interactive.pm_.c:526
msgid "Please choose which serial port your modem is connected to."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:527
+#: ../../install_steps_interactive.pm_.c:532
msgid "Dialup options"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:528
+#: ../../install_steps_interactive.pm_.c:533
msgid "Connection name"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:529
+#: ../../install_steps_interactive.pm_.c:534
msgid "Phone number"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:530
+#: ../../install_steps_interactive.pm_.c:535
msgid "Login ID"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:532
+#: ../../install_steps_interactive.pm_.c:537
msgid "Authentication"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:532
+#: ../../install_steps_interactive.pm_.c:537
msgid "CHAP"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:532
+#: ../../install_steps_interactive.pm_.c:537
msgid "PAP"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:532
+#: ../../install_steps_interactive.pm_.c:537
msgid "Script-based"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:532
+#: ../../install_steps_interactive.pm_.c:537
msgid "Terminal-based"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:533
+#: ../../install_steps_interactive.pm_.c:538
msgid "Domain name"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:535
+#: ../../install_steps_interactive.pm_.c:540
msgid "First DNS Server"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:536
+#: ../../install_steps_interactive.pm_.c:541
msgid "Second DNS Server"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:549
+#: ../../install_steps_interactive.pm_.c:554
msgid ""
"You have now the possibility to download software aimed for encryption.\n"
"\n"
@@ -2565,88 +2565,88 @@ msgid ""
"USA"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:580
+#: ../../install_steps_interactive.pm_.c:585
msgid "Choose a mirror from which to get the packages"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:588
+#: ../../install_steps_interactive.pm_.c:593
msgid "Contacting the mirror to get the list of available packages"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:592
+#: ../../install_steps_interactive.pm_.c:597
msgid "Please choose the packages you want to install."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:606
+#: ../../install_steps_interactive.pm_.c:611
msgid "Which is your timezone?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:607
+#: ../../install_steps_interactive.pm_.c:612
msgid "Is your hardware clock set to GMT?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:652
+#: ../../install_steps_interactive.pm_.c:657
msgid "No password"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:657
+#: ../../install_steps_interactive.pm_.c:662
msgid "Use shadow file"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:657
+#: ../../install_steps_interactive.pm_.c:662
msgid "shadow"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:658
+#: ../../install_steps_interactive.pm_.c:663
msgid "MD5"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:658
+#: ../../install_steps_interactive.pm_.c:663
msgid "Use MD5 passwords"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:660
+#: ../../install_steps_interactive.pm_.c:665
msgid "Use NIS"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:660
+#: ../../install_steps_interactive.pm_.c:665
msgid "yellow pages"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:666
+#: ../../install_steps_interactive.pm_.c:671
#, c-format
msgid "This password is too simple (must be at least %d characters long)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:673
+#: ../../install_steps_interactive.pm_.c:678
msgid "Authentification NIS"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:674
+#: ../../install_steps_interactive.pm_.c:679
msgid "NIS Domain"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:674
+#: ../../install_steps_interactive.pm_.c:679
msgid "NIS Server"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:699
+#: ../../install_steps_interactive.pm_.c:704
#: ../../standalone/adduserdrake_.c:36
msgid "Accept user"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:699
+#: ../../install_steps_interactive.pm_.c:704
#: ../../standalone/adduserdrake_.c:36
msgid "Add user"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:700
+#: ../../install_steps_interactive.pm_.c:705
#: ../../standalone/adduserdrake_.c:37
#, c-format
msgid "(already added %s)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:700
+#: ../../install_steps_interactive.pm_.c:705
#: ../../standalone/adduserdrake_.c:37
#, c-format
msgid ""
@@ -2654,48 +2654,48 @@ msgid ""
"%s"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:702
+#: ../../install_steps_interactive.pm_.c:707
#: ../../standalone/adduserdrake_.c:39
msgid "Real name"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:703 ../../printerdrake.pm_.c:84
+#: ../../install_steps_interactive.pm_.c:708 ../../printerdrake.pm_.c:84
#: ../../printerdrake.pm_.c:109 ../../standalone/adduserdrake_.c:40
msgid "User name"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:708
+#: ../../install_steps_interactive.pm_.c:713
#: ../../standalone/adduserdrake_.c:45
msgid "Shell"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:710
+#: ../../install_steps_interactive.pm_.c:715
#: ../../standalone/adduserdrake_.c:47
msgid "Icon"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:720
+#: ../../install_steps_interactive.pm_.c:725
#: ../../standalone/adduserdrake_.c:57
msgid "This password is too simple"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:721
+#: ../../install_steps_interactive.pm_.c:726
#: ../../standalone/adduserdrake_.c:58
msgid "Please give a user name"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:722
+#: ../../install_steps_interactive.pm_.c:727
#: ../../standalone/adduserdrake_.c:59
msgid ""
"The user name must contain only lower cased letters, numbers, `-' and `_'"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:723
+#: ../../install_steps_interactive.pm_.c:728
#: ../../standalone/adduserdrake_.c:60
msgid "This user name is already added"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:748
+#: ../../install_steps_interactive.pm_.c:753
msgid ""
"A custom bootdisk provides a way of booting into your Linux system without\n"
"depending on the normal bootloader. This is useful if you don't want to "
@@ -2713,19 +2713,19 @@ msgid ""
"drive and press \"Ok\"."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:764
+#: ../../install_steps_interactive.pm_.c:769
msgid "First floppy drive"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:765
+#: ../../install_steps_interactive.pm_.c:770
msgid "Second floppy drive"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:766
+#: ../../install_steps_interactive.pm_.c:771
msgid "Skip"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:772
+#: ../../install_steps_interactive.pm_.c:777
msgid ""
"A custom bootdisk provides a way of booting into your Linux system without\n"
"depending on the normal bootloader. This is useful if you don't want to "
@@ -2739,169 +2739,169 @@ msgid ""
"failures. Would you like to create a bootdisk for your system?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:781
+#: ../../install_steps_interactive.pm_.c:786
msgid "Sorry, no floppy drive available"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:784
+#: ../../install_steps_interactive.pm_.c:789
msgid "Choose the floppy drive you want to use to make the bootdisk"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:788
+#: ../../install_steps_interactive.pm_.c:793
#, c-format
msgid "Insert a floppy in drive %s"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:791
+#: ../../install_steps_interactive.pm_.c:796
msgid "Creating bootdisk"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:803 ../../standalone/drakboot_.c:58
+#: ../../install_steps_interactive.pm_.c:808 ../../standalone/drakboot_.c:58
msgid "Installation of LILO failed. The following error occured:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:818
+#: ../../install_steps_interactive.pm_.c:823
msgid "SILO Installation"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:824
+#: ../../install_steps_interactive.pm_.c:829
msgid "Do you want to use SILO?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:829
+#: ../../install_steps_interactive.pm_.c:834
msgid "Bootloader installation"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:838
+#: ../../install_steps_interactive.pm_.c:843
msgid "SILO main options"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:852
+#: ../../install_steps_interactive.pm_.c:857
msgid ""
"Here are the following entries in SILO.\n"
"You can add some more or change the existing ones."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:863
+#: ../../install_steps_interactive.pm_.c:868
msgid "Other OS (SunOS...)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:884
+#: ../../install_steps_interactive.pm_.c:889
msgid "Partition"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:906
+#: ../../install_steps_interactive.pm_.c:911
msgid "This label is already in use"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:920
+#: ../../install_steps_interactive.pm_.c:925
msgid "Installation of SILO failed. The following error occured:"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:930
+#: ../../install_steps_interactive.pm_.c:935
msgid "Preparing bootloader"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:938
+#: ../../install_steps_interactive.pm_.c:943
msgid "Do you want to use aboot?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:941
+#: ../../install_steps_interactive.pm_.c:946
msgid ""
"Error installing aboot, \n"
"try to force installation even if that destroys the first partition?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:958
+#: ../../install_steps_interactive.pm_.c:963
msgid "Proxies configuration"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:959
+#: ../../install_steps_interactive.pm_.c:964
msgid "HTTP proxy"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:960
+#: ../../install_steps_interactive.pm_.c:965
msgid "FTP proxy"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:966
+#: ../../install_steps_interactive.pm_.c:971
msgid "Proxy should be http://..."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:967
+#: ../../install_steps_interactive.pm_.c:972
msgid "Proxy should be ftp://..."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:977 ../../standalone/draksec_.c:20
+#: ../../install_steps_interactive.pm_.c:982 ../../standalone/draksec_.c:20
msgid "Welcome To Crackers"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:978 ../../standalone/draksec_.c:21
+#: ../../install_steps_interactive.pm_.c:983 ../../standalone/draksec_.c:21
msgid "Poor"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:979 ../../standalone/draksec_.c:22
+#: ../../install_steps_interactive.pm_.c:984 ../../standalone/draksec_.c:22
msgid "Low"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:980 ../../standalone/draksec_.c:23
+#: ../../install_steps_interactive.pm_.c:985 ../../standalone/draksec_.c:23
msgid "Medium"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:981 ../../standalone/draksec_.c:24
+#: ../../install_steps_interactive.pm_.c:986 ../../standalone/draksec_.c:24
msgid "High"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:982 ../../standalone/draksec_.c:25
+#: ../../install_steps_interactive.pm_.c:987 ../../standalone/draksec_.c:25
msgid "Paranoid"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:995
+#: ../../install_steps_interactive.pm_.c:1000
msgid "Miscellaneous questions"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:996
+#: ../../install_steps_interactive.pm_.c:1001
msgid "(may cause data corruption)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:996
+#: ../../install_steps_interactive.pm_.c:1001
msgid "Use hard drive optimisations?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:997 ../../standalone/draksec_.c:46
+#: ../../install_steps_interactive.pm_.c:1002 ../../standalone/draksec_.c:46
msgid "Choose security level"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:998
+#: ../../install_steps_interactive.pm_.c:1003
#, c-format
msgid "Precise RAM size if needed (found %d MB)"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1000
+#: ../../install_steps_interactive.pm_.c:1005
msgid "Removable media automounting"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1002
+#: ../../install_steps_interactive.pm_.c:1007
msgid "Clean /tmp at each boot"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1005
+#: ../../install_steps_interactive.pm_.c:1010
msgid "Enable multi profiles"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1007
+#: ../../install_steps_interactive.pm_.c:1012
msgid "Enable num lock at startup"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1010
+#: ../../install_steps_interactive.pm_.c:1015
msgid "Give the ram size in MB"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1012
+#: ../../install_steps_interactive.pm_.c:1017
msgid "Can't use supermount in high security level"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1014
+#: ../../install_steps_interactive.pm_.c:1019
msgid ""
"beware: IN THIS SECURITY LEVEL, ROOT LOGIN AT CONSOLE IS NOT ALLOWED!\n"
"If you want to be root, you have to login as a user and then use \"su\".\n"
@@ -2910,7 +2910,7 @@ msgid ""
"You have been warned."
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1036
+#: ../../install_steps_interactive.pm_.c:1041
msgid ""
"DrakX will generate config files for both XFree 3.3 and XFree 4.0.\n"
"By default, the 3.3 server is used because it works on more graphic cards.\n"
@@ -2918,20 +2918,20 @@ msgid ""
"Do you want to try XFree 4.0?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1049
+#: ../../install_steps_interactive.pm_.c:1054
msgid "Try to find PCI devices?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1068
+#: ../../install_steps_interactive.pm_.c:1073
msgid "Do you want to generate an auto install floppy for linux replication?"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1070
+#: ../../install_steps_interactive.pm_.c:1075
#, c-format
msgid "Insert a blank floppy in drive %s"
msgstr ""
-#: ../../install_steps_interactive.pm_.c:1084
+#: ../../install_steps_interactive.pm_.c:1089
msgid "Creating auto install floppy"
msgstr ""
span>'disk/cdrom')); modules::load_category($o->{modules_conf}, 'bus/firewire'); modules::load_category($o->{modules_conf}, 'disk/scsi|hardware_raid|firewire'); install_any::getHds($o); } #------------------------------------------------------------------------------ sub selectInstallClass { my ($o) = @_; if ($o->{partitioning}{use_existing_root} || $o->{isUpgrade}) { # either one root is defined (and all is ok), or we take the first one we find my $p = fs::get::root_($o->{fstab}) || (first(install_any::find_root_parts($o->{fstab}, $o->{prefix})) || die)->{part}; install_any::use_root_part($o->{all_hds}, $p, $o->{prefix}); } } #------------------------------------------------------------------------------ sub doPartitionDisksBefore { my ($o) = @_; eval { eval { fs::umount("$o->{prefix}/proc") }; eval { fs::umount_all($o->{fstab}, $o->{prefix}) }; eval { sleep 1; fs::umount_all($o->{fstab}, $o->{prefix}) } if $@; #- HACK } if $o->{fstab} && !$::testing; } #------------------------------------------------------------------------------ sub doPartitionDisksAfter { my ($o) = @_; if (!$::testing) { my $hds = $o->{all_hds}{hds}; partition_table::write($_) foreach @$hds; $_->{rebootNeeded} and $o->rebootNeeded foreach @$hds; } fs::set_removable_mntpoints($o->{all_hds}); fs::mount_options::set_all_default($o->{all_hds}, %$o, lang::fs_options($o->{locale})) if !$o->{isUpgrade}; $o->{fstab} = [ fs::get::fstab($o->{all_hds}) ]; fs::get::root_($o->{fstab}) or die "Oops, no root partition"; if (arch() =~ /ppc/ && detect_devices::get_mac_generation() =~ /NewWorld/) { die "Need bootstrap partition to boot system!" if !(defined $partition_table::mac::bootstrap_part); } if (arch() =~ /ia64/ && !fs::get::has_mntpoint("/boot/efi", $o->{all_hds})) { die N("You must have a FAT partition mounted in /boot/efi"); } if ($o->{partitioning}{use_existing_root} && !$::recovery) { #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat fs::mount_part($_, $o->{prefix}) foreach sort { $a->{mntpoint} cmp $b->{mntpoint} } grep { $_->{mntpoint} && maybeFormatted($_) } @{$o->{fstab}}; } cat_("/proc/mounts") =~ m|(\S+)\s+/tmp/nfsimage| && !any { $_->{mntpoint} eq "/mnt/nfs" } @{$o->{all_hds}{nfss}} and push @{$o->{all_hds}{nfss}}, { fs_type => 'nfs', mntpoint => "/mnt/nfs", device => $1, options => "noauto,ro,nosuid,soft,rsize=8192,wsize=8192" }; } #------------------------------------------------------------------------------ sub doPartitionDisks { my ($o) = @_; if ($o->{partitioning}{auto_allocate}) { catch_cdie { fsedit::auto_allocate($o->{all_hds}, $o->{partitions}) } sub { 1 }; } } #------------------------------------------------------------------------------ sub ask_mntpoint_s {#-}}} my ($_o, $fstab) = @_; #- TODO: set the mntpoints my %m; foreach (@$fstab) { my $m = $_->{mntpoint}; next if !$m || $m eq 'swap'; #- there may be a lot of swap. $m{$m} and die N("Duplicate mount point %s", $m); $m{$m} = 1; #- in case the type does not correspond, force it to ext3 fs::type::set_fs_type($_, 'ext3') if $m =~ m|^/| && !isTrueFS($_) && !isOtherAvailableFS($_); } 1; } sub rebootNeeded($) { my ($_o) = @_; log::l("Rebooting..."); c::_exit(0); } sub choosePartitionsToFormat($$) { my ($_o, $fstab) = @_; foreach (@$fstab) { $_->{mntpoint} = "swap" if isSwap($_); $_->{mntpoint} or next; add2hash_($_, { toFormat => $_->{notFormatted} }) if $_->{fs_type}; #- eg: don't set toFormat for isRawRAID (0xfd) $_->{$::recovery ? 'toFormat' : 'toFormatUnsure'} ||= member($_->{mntpoint}, '/', '/usr'); if (!$_->{toFormat}) { my $fs_type = fs::type::fs_type_from_magic($_); if (!$fs_type || $fs_type ne $_->{fs_type}) { log::l("setting toFormatUnsure for $_->{device} because <$_->{fs_type}> ne <$fs_type>"); $_->{toFormatUnsure} = 1; } } } } sub formatMountPartitions { my ($o) = @_; fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix}); } #------------------------------------------------------------------------------ sub setPackages { my ($o, $rebuild_needed) = @_; install_any::setPackages($o, $rebuild_needed); pkgs::selectPackagesAlreadyInstalled($o->{packages}, $o->{prefix}); $rebuild_needed and pkgs::selectPackagesToUpgrade($o->{packages}, $o->{prefix}); } sub choosePackages { my ($o, $packages, $_compssUsers, $first_time) = @_; #- now for upgrade, package that must be upgraded are #- selected first, after is used the same scheme as install. #- make sure we kept some space left for available else the system may #- not be able to start (xfs at least). my $available = install_any::getAvailableSpace($o); my $availableCorrected = pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024); log::l(sprintf "available size %s (corrected %s)", formatXiB($available), formatXiB($availableCorrected)); add2hash_($o, { compssListLevel => 5 }) if !$::auto_install; #- avoid destroying user selection of packages but only #- for expert, as they may have done individual selection before. if ($first_time || !$::expert) { exists $o->{compssListLevel} and pkgs::setSelectedFromCompssList($packages, $o->{compssUsersChoice}, $o->{compssListLevel}, $availableCorrected); } $availableCorrected; } sub upgrading_redhat() { #- remove weird config files that bother Xconfig::* too much unlink "$::prefix/etc/X11/XF86Config"; unlink "$::prefix/etc/X11/XF86Config-4"; sub prefering_mdk { my ($lpkg, $rpkg_ver, $c) = @_; my $lpkg_ver = $lpkg->version . '-' . $lpkg->release; log::l($lpkg->name . ' ' . ': prefering ' . ($c == 1 ? "$lpkg_ver over $rpkg_ver" : "$rpkg_ver over $lpkg_ver")); } my $old_compare_pkg = \&URPM::Package::compare_pkg; undef *URPM::Package::compare_pkg; *URPM::Package::compare_pkg = sub { my ($lpkg, $rpkg) = @_; my $c = ($lpkg->release =~ /mdk$/ ? 1 : 0) - ($rpkg->release =~ /mdk$/ ? 1 : 0); if ($c) { prefering_mdk($lpkg, $rpkg->version . '-' . $rpkg->release, $c); $c; } else { &$old_compare_pkg; } }; my $old_compare = \&URPM::Package::compare; undef *URPM::Package::compare; *URPM::Package::compare = sub { my ($lpkg, $rpkg_ver) = @_; my $c = ($lpkg->release =~ /mdk$/ ? 1 : 0) - ($rpkg_ver =~ /mdk$/ ? 1 : 0); if ($c) { prefering_mdk($lpkg, $rpkg_ver, $c); return $c; } &$old_compare; }; } sub beforeInstallPackages { my ($o) = @_; #- save these files in case of upgrade failure. if ($o->{isUpgrade}) { foreach (@filesToSaveForUpgrade) { unlink "$o->{prefix}/$_.mdkgisave"; if (-e "$o->{prefix}/$_") { eval { cp_af("$o->{prefix}/$_", "$o->{prefix}/$_.mdkgisave") }; } } foreach (@filesNewerToUseAfterUpgrade) { unlink "$o->{prefix}/$_.rpmnew"; } } #- mainly for upgrading redhat packages, but it can help other my @should_not_be_dirs = qw(/usr/X11R6/lib/X11/xkb /usr/share/locale/zh_TW/LC_TIME /usr/include/GL); my @should_be_dirs = qw(/etc/X11/xkb); my @to_remove = ( (grep { !-l $_ && -d $_ } map { "$::prefix$_" } @should_not_be_dirs), (grep { -l $_ || !-d $_ && -e $_ } map { "$::prefix$_" } @should_be_dirs), ); rm_rf(@to_remove); if ($o->{isUpgrade} eq 'redhat') { upgrading_redhat(); } #- some packages need such files for proper installation. install_any::write_fstab($o); require network::network; network::network::add2hosts("$o->{prefix}/etc/hosts", "localhost.localdomain", "127.0.0.1"); log::l("setting excludedocs to $o->{excludedocs}"); substInFile { s/%_excludedocs.*//; $_ .= "%_excludedocs yes\n" if eof && $o->{excludedocs} } "$o->{prefix}/etc/rpm/macros"; #- add oem theme if the files exists. mkdir_p("$o->{prefix}/usr/share"); install_any::getAndSaveFile("install/oem-theme.rpm", "$o->{prefix}/usr/share/oem-theme.rpm"); } sub pkg_install { my ($o, @l) = @_; log::l("selecting packages " . join(" ", @l)); require pkgs; if ($::testing) { log::l(qq(selecting package "$_")) foreach @l; } else { $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix}); pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found") foreach @l; } my @toInstall = pkgs::packagesToInstall($o->{packages}); if (@toInstall) { log::l("installing packages"); $o->installPackages; } else { log::l("all packages selected are already installed, nothing to do") } } sub pkg_install_if_requires_satisfied { my ($o, @l) = @_; require pkgs; $o->{packages}{rpmdb} ||= pkgs::rpmDbOpen($o->{prefix}); foreach (@l) { my %newSelection; my $pkg = pkgs::packageByName($o->{packages}, $_) || die "$_ rpm not found"; pkgs::selectPackage($o->{packages}, $pkg, 0, \%newSelection); if (scalar(keys %newSelection) == 1) { pkgs::selectPackage($o->{packages}, $pkg); } else { log::l("pkg_install_if_requires_satisfied: not selecting $_ because of ", join(", ", keys %newSelection)); } } $o->installPackages; } sub installPackages($$) { #- complete REWORK, TODO and TOCHECK! my ($o) = @_; my $packages = $o->{packages}; if (%{$packages->{state}{ask_remove} || {}}) { log::l("removing : ", join ', ', keys %{$packages->{state}{ask_remove}}); pkgs::remove($o->{prefix}, [ keys %{$packages->{state}{ask_remove}} ], $packages); } #- small transaction will be built based on this selection and depslist. my @toInstall = pkgs::packagesToInstall($packages); my $time = time(); $ENV{DURING_INSTALL} = 1; pkgs::install($o->{prefix}, $o->{isUpgrade}, \@toInstall, $packages); any::writeandclean_ldsoconf($o->{prefix}); delete $ENV{DURING_INSTALL}; run_program::rooted_or_die($o->{prefix}, 'ldconfig'); log::l("Install took: ", formatTimeRaw(time() - $time)); install_any::log_sizes($o); scalar(@toInstall); #- return number of packages installed. } sub afterInstallPackages($) { my ($o) = @_; die N("Some important packages didn't get installed properly. Either your cdrom drive or your cdrom is defective. Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm\" ") if any { m|read failed: Input/output error| } cat_("$o->{prefix}/root/drakx/install.log"); if (arch() !~ /^sparc/) { #- TODO restore it as may be needed for sparc -x "$o->{prefix}/usr/bin/dumpkeys" or $::testing or die "Some important packages didn't get installed properly. Please switch to console 2 (using ctrl-alt-f2) and look at the log file /tmp/ddebug.log Consoles 1,3,4,7 may also contain interesting information"; } #- why not? cuz weather is nice today :-) [pixel] common::sync(); common::sync(); my $have_devfsd = do { my $p = pkgs::packageByName($o->{packages}, 'devfsd'); $p && $p->flag_installed }; require bootloader; bootloader::may_append($o->{bootloader}, devfs => $have_devfsd ? 'mount' : 'nomount'); #- generate /etc/lvmtab needed for rc.sysinit run_program::rooted($o->{prefix}, 'lvm2', 'vgscan') if -e '/etc/lvmtab'; #- configure PCMCIA services if needed. install_any::write_pcmcia($o->{pcmcia}); #- for mandrake_firstime touch "$o->{prefix}/var/lock/TMP_1ST"; any::config_dvd($o->{prefix}, $have_devfsd); any::config_mtools($o->{prefix}); #- make sure wins is disabled in /etc/nsswitch.conf #- else if eth0 is not existing, glibc segfaults. substInFile { s/\s*wins// if /^\s*hosts\s*:/ } "$o->{prefix}/etc/nsswitch.conf"; #- make sure some services have been enabled (or a catastrophic restart will occur). #- these are normally base package post install scripts or important services to start. run_program::rooted($o->{prefix}, "chkconfig", "--add", $_) foreach qw(random netfs network rawdevices sound kheader keytable syslog crond portmap); if ($o->{mouse}{device} =~ /ttyS/) { log::l("disabling gpm for serial mice (doesn't get along nicely with X)"); run_program::rooted($o->{prefix}, "chkconfig", "--del", "gpm") } #- install urpmi before as rpmdb will be opened, this will cause problem with update-menus. $o->install_urpmi; #- update menu scheme before calling update menus if desktop mode. if ($o->{meta_class} eq 'desktop') { run_program::rooted($o->{prefix}, "touch", "/etc/menu/do-not-create-menu-link"); run_program::rooted($o->{prefix}, "touch", "/etc/menu/enable_simplified"); } elsif (!$o->{isUpgrade}) { run_program::rooted($o->{prefix}, "touch", "/etc/menu/do-not-create-menu-link"); } if ($o->{pcmcia}) { substInFile { s/.*(TaskBarShowAPMStatus).*/$1=1/ } "$o->{prefix}/usr/lib/X11/icewm/preferences"; eval { cp_af("$o->{prefix}/usr/share/applnk/System/kapm.kdelnk", "$o->{prefix}/etc/skel/Desktop/Autostart/kapm.kdelnk") }; } if ($o->{brltty}) { output("$o->{prefix}/etc/brltty.conf", <<EOF); braille-driver $o->{brltty}{driver} braille-device $o->{brltty}{device} text-table $o->{brltty}{table} EOF } install_any::disable_user_view() if $o->{security} >= 3 || $o->{authentication}{NIS}; run_program::rooted($o->{prefix}, "kdeDesktopCleanup"); foreach (list_skels($o->{prefix}, '.kde/share/config/kfmrc')) { my $found; substInFile { $found ||= /KFM Misc Defaults/; $_ .= "[KFM Misc Defaults] GridWidth=85 GridHeight=70 " if eof && !$found; } $_ } #- move some file after an upgrade that may be seriously annoying. #- and rename saved files to .mdkgiorig. if ($o->{isUpgrade}) { my $pkg = pkgs::packageByName($o->{packages}, 'rpm'); $pkg && ($pkg->flag_selected || $pkg->flag_installed) && $pkg->compare(">= 4.0") and pkgs::cleanOldRpmDb($o->{prefix}); log::l("moving previous desktop files that have been updated to Trash of each user"); install_any::kdemove_desktop_file($o->{prefix}); foreach (@filesToSaveForUpgrade) { renamef("$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_.mdkgiorig") if -e "$o->{prefix}$_.mdkgisave"; } foreach (@filesNewerToUseAfterUpgrade) { if (-e "$o->{prefix}/$_.rpmnew" && -e "$o->{prefix}/$_") { renamef("$o->{prefix}/$_", "$o->{prefix}/$_.mdkgiorig"); renamef("$o->{prefix}/$_.rpmnew", "$o->{prefix}/$_"); } } } any::fix_broken_alternatives($o->{isUpgrade} eq 'redhat'); #- update theme directly from a package (simplest). if (-s "$o->{prefix}/usr/share/oem-theme.rpm") { run_program::rooted($o->{prefix}, "rpm", "-U", "/usr/share/oem-theme.rpm"); unlink "/usr/share/oem-theme.rpm"; } #- call update-menus at the end of package installation push @{$o->{waitpids}}, run_program::raw({ root => $o->{prefix}, detach => 1 }, "update-menus", "-n"); if ($o->{updatemodules}) { $o->{updatemodules} = detect_devices::floppy() or die N("No floppy drive available"); $o->updateModulesFromFloppy; } } sub install_urpmi { my ($o) = @_; my $pkg = pkgs::packageByName($o->{packages}, 'urpmi'); if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)) { install_any::install_urpmi($o->{prefix}, $o->{method}, $o->{packages}, $o->{packages}{mediums}); pkgs::saveCompssUsers($o->{prefix}, $o->{packages}, $o->{compssUsers}, $o->{compssUsersSorted}); } } sub updateModulesFromFloppy { my ($o) = @_; return if $::testing; fs::mount($o->{updatemodules}, "/floppy", "ext2", 0); foreach (glob_("$o->{prefix}/lib/modules/*")) { my ($kernelVersion) = m,lib/modules/(\S*),; log::l("examining updated modules for kernel $kernelVersion"); if (-d "/floppy/$kernelVersion") { my @src_files = glob_("/floppy/$kernelVersion/*"); my @dest_files = map { chomp_($_) } run_program::rooted_get_stdout($o->{prefix}, 'find', '/lib/modules'); foreach my $s (@src_files) { log::l("found updatable module $s"); my ($sfile, $sext) = $s =~ m!([^/\.]*\.k?o)(?:\.gz|\.bz2)?$!; my $qsfile = quotemeta $sfile; my $qsext = quotemeta $sext; foreach my $target (@dest_files) { $target =~ /$qsfile/ or next; eval { cp_af($s, $target) }; if ($@) { log::l("updating module $target by $s failed: $@"); } else { log::l("updating module $target by $s"); } if ($target !~ /$qsfile$qsext$/) { #- extension differ, first rename target file correctly, #- then uncompress source file, then compress it as expected. my ($basetarget, $text) = $target =~ /(.*?)(\.gz|\.bz2)$/; rename $target, "$basetarget$sext"; $sext eq '.gz' and run_program::run("gzip", "-d", "$basetarget$sext"); $sext eq '.bz2' and run_program::run("bzip2", "-d", "$basetarget$sext"); $text eq '.gz' and run_program::run("gzip", $basetarget); $text eq '.bz2' and run_program::run("bzip2", $basetarget); } } } } } fs::umount("/floppy"); } #------------------------------------------------------------------------------ sub selectMouse($) { my ($_o) = @_; } #------------------------------------------------------------------------------ sub configureNetwork { my ($o) = @_; require network::network; network::network::configureNetwork2($o, $o->{prefix}, $o->{netc}, $o->{intf}); if ($o->{method} =~ /ftp|http|nfs/) { $o->{netcnx}{type} = 'lan'; foreach ("up", "down") { my $f = "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_$_"; output_with_perm($f, 0755, "\nif$_ eth0\n"); } output "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_pg", "\n/usr/sbin/drakconnect\n"; require network::netconnect; $o->{netcnx}{$_} = $o->{netc}{$_} foreach qw(NET_DEVICE NET_INTERFACE); } } #------------------------------------------------------------------------------ sub installUpdates { my ($o) = @_; my $u = $o->{updates} or return; $u->{updates} or return; upNetwork($o); require crypto; crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror}) and $o->pkg_install(@{$u->{packages} || []}); #- re-install urpmi with update security medium. $o->install_urpmi; } sub summaryBefore {} sub summary { my ($o) = @_; configureTimezone($o); configurePrinter($o) if $o->{printer}; } sub summaryAfter { my ($o) = @_; require bootloader; my $acpi = bootloader::get_append($o->{bootloader}, 'acpi'); if (!member($acpi, 'off', 'ht') && !(-x "$::prefix/usr/bin/acpi" && -x "$::prefix/usr/sbin/acpid")) { $o->do_pkgs->install(qw(acpi acpid)); } } #------------------------------------------------------------------------------ sub configureTimezone { my ($o) = @_; install_any::preConfigureTimezone($o); $o->pkg_install('ntp') if $o->{timezone}{ntp}; require timezone; timezone::write($o->{timezone}); } #------------------------------------------------------------------------------ sub configureServices { my ($o) = @_; if ($o->{services}) { require services; services::doit($o, $o->{services}); } } #------------------------------------------------------------------------------ sub configurePrinter { my ($o) = @_; $o->do_pkgs->install('foomatic-filters', 'foomatic-db-engine', 'foomatic-db', 'printer-utils', 'printer-testpages', if_($o->do_pkgs->is_installed('gimp'), 'gimpprint')); require printer::main; eval { add2hash($o->{printer} ||= {}, printer::main::getinfo($o->{prefix})) }; #- get existing configuration. require printer::printerdrake; printer::printerdrake::install_spooler($o->{printer}, $o); #- not interactive... foreach (values %{$o->{printer}{configured} || {}}) { log::l("configuring printer queue " . $_->{queuedata}{queue} || $_->{QUEUE}); #- when copy is so adulée (sorry french taste :-) #- and when there are some configuration in one place and in another place... $o->{printer}{currentqueue} = {}; printer::main::copy_printer_params($_->{queuedata}, $o->{printer}{currentqueue}); printer::main::copy_printer_params($_, $o->{printer}); #- setup all configured queues, which is not the case interactively where #- only the working queue is setup on configuration. printer::main::configure_queue($o->{printer}); } } #------------------------------------------------------------------------------ sub setRootPassword { my ($o) = @_; $o->{superuser} ||= {}; $o->{superuser}{name} = 'root'; any::write_passwd_user($o->{superuser}, $o->{authentication}{md5}); delete $o->{superuser}{name}; install_any::set_authentication($o); } #------------------------------------------------------------------------------ sub addUser { my ($o) = @_; my $users = $o->{users} ||= []; if ($::prefix) { #- getpwnam, getgrnam, getgrid works symlinkf("$::prefix/etc/passwd", '/etc/passwd'); symlinkf("$::prefix/etc/group", '/etc/group'); } my (%uids, %gids); foreach (glob_("$::prefix/home")) { my ($u, $g) = (stat($_))[4,5]; $uids{$u} = 1; $gids{$g} = 1 } foreach (@$users) { $_->{home} ||= "/home/$_->{name}"; my $u = $_->{uid} || ($_->{oldu} = (stat("$::prefix$_->{home}"))[4]) || int getpwnam($_->{name}); my $g = $_->{gid} || ($_->{oldg} = (stat("$::prefix$_->{home}"))[5]) || int getgrnam($_->{name}); #- search for available uid above 501 else initscripts may fail to change language for KDE. if (!$u || getpwuid($u)) { for ($u = 501; getpwuid($u) || $uids{$u}; $u++) {} } if (!$g) { for ($g = 501; getgrgid($g) || $gids{$g}; $g++) {} } $_->{uid} = $u; $uids{$u} = 1; $_->{gid} = $g; $gids{$g} = 1; } any::write_passwd_user($_, $o->{authentication}{md5}) foreach @$users; append_to_file("$::prefix/etc/group", map { "$_->{name}:x:$_->{gid}:\n" } grep { ! getgrgid($_->{gid}) } @$users); foreach my $u (@$users) { if (! -d "$::prefix$u->{home}") { my $mode = $o->{security} < 2 ? 0755 : 0750; eval { cp_af("$::prefix/etc/skel", "$::prefix$u->{home}") }; if ($@) { log::l("copying of skel failed: $@"); mkdir("$::prefix$u->{home}", $mode); } else { chmod $mode, "$::prefix$u->{home}"; } } require commands; eval { commands::chown_("-r", "$u->{uid}.$u->{gid}", "$::prefix$u->{home}") } if $u->{uid} != $u->{oldu} || $u->{gid} != $u->{oldg}; } #- since we wrote the password in /etc/passwd, we must convert to shadow run_program::rooted($::prefix, 'pwconv') if $o->{authentication}{shadow}; any::addUsers($users); if ($o->{autologin}) { $o->{desktop} ||= first(any::sessions()); $o->pkg_install("autologin") if !member($o->{desktop}, 'KDE', 'GNOME'); } any::set_autologin($o->{autologin}, $o->{desktop}); install_any::disable_user_view() if @$users == (); } #------------------------------------------------------------------------------ sub readBootloaderConfigBeforeInstall { my ($o) = @_; require bootloader; add2hash($o->{bootloader} ||= {}, bootloader::read($o->{fstab})); $o->{bootloader}{bootUnsafe} = 0 if $o->{bootloader}{boot}; #- when upgrading, don't ask where to install the bootloader (mbr vs boot partition) } sub setupBootloaderBefore { my ($o) = @_; require bootloader; #- remove previous ide-scsi lines bootloader::modify_append($o->{bootloader}, sub { my ($_simple, $dict) = @_; @$dict = grep { $_->[1] ne 'ide-scsi' } @$dict; }); if ($o->{miscellaneous}{HDPARM}) { bootloader::set_append($o->{bootloader}, $_, 'autotune') foreach grep { /ide/ } all("/proc/ide"); } if (cat_("/proc/cmdline") =~ /mem=nopentium/) { bootloader::set_append($o->{bootloader}, 'mem', 'nopentium'); } if (cat_("/proc/cmdline") =~ /\b(pci)=(\S+)/) { bootloader::set_append($o->{bootloader}, $1, $2); } if (cat_("/proc/cmdline") =~ /\bacpi=off/) { bootloader::set_append($o->{bootloader}, acpi => 'off'); } if (cat_("/proc/cmdline") =~ /\bacpi=ht/) { bootloader::set_append($o->{bootloader}, acpi => 'ht'); } if (cat_("/proc/cmdline") =~ /\bnoapic/) { bootloader::set_append($o->{bootloader}, 'noapic'); } my ($MemTotal) = cat_("/proc/meminfo") =~ /^MemTotal:\s*(\d+)/m; if (my ($biggest_swap) = sort { $b->{size} <=> $a->{size} } grep { isSwap($_) } @{$o->{fstab}}) { log::l("MemTotal: $MemTotal < ", $biggest_swap->{size} / 2); bootloader::set_append($o->{bootloader}, resume => devices::make($biggest_swap->{device})) if $MemTotal < $biggest_swap->{size} / 2; } #- check for valid fb mode to enable a default boot with frame buffer. my $vga = $o->{allowFB} && (!detect_devices::matching_desc('3D Rage LT') && !detect_devices::matching_desc('Rage Mobility [PL]') && !detect_devices::matching_desc('i740') && !detect_devices::matching_desc('Matrox') && !detect_devices::matching_desc('Tseng.*ET6\d00') && !detect_devices::matching_desc('SiS.*SG86C2.5') && !detect_devices::matching_desc('SiS.*559[78]') && !detect_devices::matching_desc('SiS.*300') && !detect_devices::matching_desc('SiS.*540') && !detect_devices::matching_desc('SiS.*6C?326') && !detect_devices::matching_desc('SiS.*6C?236') && !detect_devices::matching_desc('Voodoo [35]|Voodoo Banshee') && #- 3d acceleration seems to bug in fb mode !detect_devices::matching_desc('828[14][05].* CGC') #- i810 & i845 now have FB support during install but we disable it afterwards ); my $force_vga = $o->{allowFB} && (detect_devices::matching_desc('SiS.*630') || #- SiS 630 need frame buffer. detect_devices::matching_desc('GeForce.*Integrated') #- needed for fbdev driver (hack). ); #- propose the default fb mode for kernel fb, if aurora or bootsplash is installed. my $need_fb = do { my $p = pkgs::packageByName($o->{packages}, 'bootsplash'); $p && $p->flag_installed; }; bootloader::suggest($o->{bootloader}, $o->{all_hds}, vga_fb => ($force_vga || $vga && $need_fb) && $o->{vga}, quiet => $o->{meta_class} ne 'server'); $o->{bootloader}{keytable} ||= keyboard::keyboard2kmap($o->{keyboard}); } sub setupBootloader { my ($o) = @_; require bootloader; bootloader::install($o->{bootloader}, $o->{all_hds}); } #------------------------------------------------------------------------------ sub configureXBefore { my ($o) = @_; #- keep this here if the package has to be updated. $o->pkg_install("xorg-x11"); } sub configureX { my ($o) = @_; configureXBefore($o); require Xconfig::default; $o->{raw_X} = Xconfig::default::configure($o->{keyboard}, $o->{mouse}); require Xconfig::main; Xconfig::main::configure_everything_auto_install($o->{raw_X}, $o->do_pkgs, $o->{X}, install_any::X_options_from_o($o)); configureXAfter($o); } sub configureXAfter { my ($o) = @_; if ($o->{X}{bios_vga_mode}) { install_any::setupFB($o, $o->{X}{bios_vga_mode}) or do { log::l("disabling automatic start-up of X11 if any as setup framebuffer failed"); Xconfig::various::runlevel(3); #- disable automatic start-up of X11 on error. }; } if ($o->{X}{default_depth} >= 16 && $o->{X}{resolution_wanted} >= 1024) { log::l("setting large icon style for kde"); install_any::kderc_largedisplay($o->{prefix}); } } #------------------------------------------------------------------------------ sub miscellaneousBefore { my ($o) = @_; my %s = getVarsFromSh("$o->{prefix}/etc/sysconfig/system"); $o->{miscellaneous}{HDPARM} = $s{HDPARM} if exists $s{HDPARM}; require security::level; require security::various; $o->{security} ||= security::level::get() || ($o->{meta_class} =~ /server|firewall/ ? 3 : 2); $o->{security_user} ||= security::various::config_security_user($o->{prefix}); $o->{libsafe} ||= security::various::config_libsafe($o->{prefix}); log::l("security $o->{security}"); add2hash_($o->{miscellaneous} ||= {}, { numlock => !detect_devices::isLaptop() }); } sub miscellaneous { my ($_o) = @_; #- keep some given parameters #-TODO } sub miscellaneousAfter { my ($o) = @_; add2hash_ $o, { useSupermount => $o->{security} < 4 ? 'magicdev' : 0 }; $ENV{SECURE_LEVEL} = $o->{security}; #- deprecated with chkconfig 1.3.4-2mdk, uses /etc/sysconfig/msec addToBeDone { setVarsInSh("$o->{prefix}/etc/sysconfig/system", { CLASS => $::expert && 'expert' || 'beginner', SECURITY => $o->{security}, META_CLASS => $o->{meta_class} || 'PowerPack', }); substInFile { s/KEYBOARD_AT_BOOT=.*/KEYBOARD_AT_BOOT=yes/ } "$o->{prefix}/etc/sysconfig/usb" if detect_devices::usbKeyboards(); } 'installPackages'; } #------------------------------------------------------------------------------ sub exitInstall { my ($o) = @_; eval { my $report = '/root/drakx/report.bug'; unlink "$::prefix$report", "$::prefix$report.gz"; output "$::prefix$report", install_any::report_bug($o->{prefix}); run_program::rooted($::prefix, 'gzip', $report); }; install_any::getAndSaveAutoInstallFloppies($o, 1); eval { output "$o->{prefix}/root/drakx/README", "This directory contains several installation-related files, mostly log files (very useful if you ever report a bug!). Beware that some Mandrake tools rely on the contents of some of these files... so remove any file from here at your own risk! " }; #- wait for remainging processes. foreach (@{$o->{waitpids}}) { waitpid $_, 0; log::l("pid $_ returned $?"); } install_any::unlockCdrom(); install_any::log_sizes($o); } #------------------------------------------------------------------------------ sub hasNetwork { my ($o) = @_; $o->{netcnx}{type} && $o->{netc}{NETWORKING} ne 'no' and return 1; log::l("no network seems to be configured for internet ($o->{netcnx}{type},$o->{netc}{NETWORKING})"); 0; } #------------------------------------------------------------------------------ sub upNetwork { my ($o, $b_pppAvoided) = @_; #- do not destroy this file if prefix is '' or even '/' (could it happens ?). if (length($o->{prefix}) > 1) { symlinkf("$o->{prefix}/etc/$_", "/etc/$_") foreach qw(resolv.conf protocols services); } member($o->{method}, qw(ftp http nfs)) and return 1; $o->{modules_conf}->write; if (hasNetwork($o)) { if ($o->{netcnx}{type} =~ /adsl|lan|cable/) { log::l("starting network ($o->{netcnx}{type})"); require network::netconnect; network::netconnect::start_internet($o); return 1; } elsif (!$b_pppAvoided) { log::l("starting network (ppp: $o->{netcnx}{type})"); eval { modules::load(qw(serial ppp bsd_comp ppp_deflate)) }; run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "start"); require network::netconnect; network::netconnect::start_internet($o); return 1; } else { log::l(qq(not starting network (b/c ppp avoided and type is "$o->{netcnx}{type})")); } } $::testing; } #------------------------------------------------------------------------------ sub downNetwork { my ($o, $costlyOnly) = @_; $o->{method} eq "ftp" || $o->{method} eq "http" || $o->{method} eq "nfs" and return 1; $o->{modules_conf}->write; if (hasNetwork($o)) { if (!$costlyOnly) { require network::netconnect; network::netconnect::stop_internet($o); return 1; } elsif ($o->{netc}{type} !~ /adsl|lan|cable/) { require network::netconnect; network::netconnect::stop_internet($o); run_program::rooted($o->{prefix}, "/etc/rc.d/init.d/syslog", "stop"); eval { modules::unload(qw(ppp_deflate bsd_comp ppp serial)) }; return 1; } } $::testing; } #------------------------------------------------------------------------------ sub cleanIfFailedUpgrade($) { my ($o) = @_; #- if an upgrade has failed, there should be .mdkgisave files around. if ($o->{isUpgrade}) { foreach (@filesToSaveForUpgrade) { if (-e "$o->{prefix}/$_" && -e "$o->{prefix}/$_.mdkgisave") { rename "$o->{prefix}/$_", "$o->{prefix}/$_.mdkginew"; #- keep new files around in case ! rename "$o->{prefix}/$_.mdkgisave", "$o->{prefix}/$_"; } } } } 1;