70 files changed, 37088 insertions, 36562 deletions
diff --git a/perl-install/share/po/af.po b/perl-install/share/po/af.po index 93f2cbf09..5a58e9268 100644 --- a/perl-install/share/po/af.po +++ b/perl-install/share/po/af.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: DrakX-af\n" -"POT-Creation-Date: 2005-09-04 21:26+0800\n" +"POT-Creation-Date: 2005-09-08 00:35+0800\n" "PO-Revision-Date: 2005-04-21 17:33+0200\n" "Last-Translator: Dirk van der Walt <dirkvanderwalt@webmail.co.za>\n" "Language-Team: Afrikaans\n" @@ -76,7 +76,7 @@ msgstr "" "verwyder die skryf-beskerming, prop dit weer in, en loods\n" "dan weer Mandriva Move." -#: ../move/move.pm:468 help.pm:409 install_steps_interactive.pm:1320 +#: ../move/move.pm:468 help.pm:409 install_steps_interactive.pm:1322 #, c-format msgid "Reboot" msgstr "Herlaai" @@ -173,50 +173,50 @@ msgstr "Net 'n oomblik, spoor en konfigureer us toestelle" #: diskdrake/interactive.pm:243 diskdrake/interactive.pm:404 #: diskdrake/interactive.pm:422 diskdrake/interactive.pm:558 #: diskdrake/interactive.pm:563 diskdrake/smbnfs_gtk.pm:41 do_pkgs.pm:19 -#: do_pkgs.pm:37 fsedit.pm:209 install_any.pm:1754 install_any.pm:1806 -#: install_steps.pm:81 install_steps_interactive.pm:37 interactive/http.pm:117 -#: interactive/http.pm:118 network/ndiswrapper.pm:27 network/ndiswrapper.pm:42 -#: network/ndiswrapper.pm:89 network/ndiswrapper.pm:101 -#: network/netconnect.pm:908 network/netconnect.pm:912 -#: network/netconnect.pm:916 network/netconnect.pm:921 -#: network/netconnect.pm:1065 network/netconnect.pm:1069 -#: network/netconnect.pm:1187 network/netconnect.pm:1192 -#: network/netconnect.pm:1212 network/netconnect.pm:1365 -#: network/thirdparty.pm:266 network/thirdparty.pm:273 -#: network/thirdparty.pm:309 network/thirdparty.pm:311 -#: network/thirdparty.pm:332 network/thirdparty.pm:356 -#: printer/printerdrake.pm:244 printer/printerdrake.pm:251 -#: printer/printerdrake.pm:276 printer/printerdrake.pm:422 -#: printer/printerdrake.pm:427 printer/printerdrake.pm:440 -#: printer/printerdrake.pm:450 printer/printerdrake.pm:514 -#: printer/printerdrake.pm:686 printer/printerdrake.pm:690 -#: printer/printerdrake.pm:772 printer/printerdrake.pm:1576 -#: printer/printerdrake.pm:1624 printer/printerdrake.pm:1661 -#: printer/printerdrake.pm:1706 printer/printerdrake.pm:1710 -#: printer/printerdrake.pm:1724 printer/printerdrake.pm:1816 -#: printer/printerdrake.pm:1897 printer/printerdrake.pm:1901 -#: printer/printerdrake.pm:1905 printer/printerdrake.pm:1954 -#: printer/printerdrake.pm:2012 printer/printerdrake.pm:2016 -#: printer/printerdrake.pm:2030 printer/printerdrake.pm:2150 -#: printer/printerdrake.pm:2154 printer/printerdrake.pm:2197 -#: printer/printerdrake.pm:2272 printer/printerdrake.pm:2290 -#: printer/printerdrake.pm:2299 printer/printerdrake.pm:2308 -#: printer/printerdrake.pm:2319 printer/printerdrake.pm:2383 -#: printer/printerdrake.pm:2478 printer/printerdrake.pm:3032 -#: printer/printerdrake.pm:3316 printer/printerdrake.pm:3322 -#: printer/printerdrake.pm:3886 printer/printerdrake.pm:3890 -#: printer/printerdrake.pm:3894 printer/printerdrake.pm:4355 -#: printer/printerdrake.pm:4596 printer/printerdrake.pm:4620 -#: printer/printerdrake.pm:4697 printer/printerdrake.pm:4763 -#: printer/printerdrake.pm:4883 standalone/drakTermServ:394 -#: standalone/drakTermServ:464 standalone/drakTermServ:473 -#: standalone/drakTermServ:774 standalone/drakTermServ:781 -#: standalone/drakTermServ:802 standalone/drakTermServ:849 -#: standalone/drakTermServ:1095 standalone/drakTermServ:1572 -#: standalone/drakTermServ:1588 standalone/drakTermServ:1593 -#: standalone/drakTermServ:1601 standalone/drakTermServ:1613 -#: standalone/drakTermServ:1634 standalone/drakauth:36 -#: standalone/drakbackup:498 standalone/drakbackup:612 +#: do_pkgs.pm:39 do_pkgs.pm:52 fsedit.pm:209 install_any.pm:1754 +#: install_any.pm:1806 install_steps.pm:81 install_steps_interactive.pm:37 +#: interactive/http.pm:117 interactive/http.pm:118 network/ndiswrapper.pm:27 +#: network/ndiswrapper.pm:42 network/ndiswrapper.pm:89 +#: network/ndiswrapper.pm:101 network/netconnect.pm:908 +#: network/netconnect.pm:912 network/netconnect.pm:916 +#: network/netconnect.pm:921 network/netconnect.pm:1065 +#: network/netconnect.pm:1069 network/netconnect.pm:1188 +#: network/netconnect.pm:1193 network/netconnect.pm:1213 +#: network/netconnect.pm:1366 network/thirdparty.pm:291 +#: network/thirdparty.pm:298 network/thirdparty.pm:334 +#: network/thirdparty.pm:336 network/thirdparty.pm:357 +#: network/thirdparty.pm:381 printer/printerdrake.pm:244 +#: printer/printerdrake.pm:251 printer/printerdrake.pm:276 +#: printer/printerdrake.pm:422 printer/printerdrake.pm:427 +#: printer/printerdrake.pm:440 printer/printerdrake.pm:450 +#: printer/printerdrake.pm:514 printer/printerdrake.pm:686 +#: printer/printerdrake.pm:690 printer/printerdrake.pm:772 +#: printer/printerdrake.pm:1576 printer/printerdrake.pm:1624 +#: printer/printerdrake.pm:1661 printer/printerdrake.pm:1706 +#: printer/printerdrake.pm:1710 printer/printerdrake.pm:1724 +#: printer/printerdrake.pm:1816 printer/printerdrake.pm:1897 +#: printer/printerdrake.pm:1901 printer/printerdrake.pm:1905 +#: printer/printerdrake.pm:1954 printer/printerdrake.pm:2012 +#: printer/printerdrake.pm:2016 printer/printerdrake.pm:2030 +#: printer/printerdrake.pm:2150 printer/printerdrake.pm:2154 +#: printer/printerdrake.pm:2197 printer/printerdrake.pm:2272 +#: printer/printerdrake.pm:2290 printer/printerdrake.pm:2299 +#: printer/printerdrake.pm:2308 printer/printerdrake.pm:2319 +#: printer/printerdrake.pm:2383 printer/printerdrake.pm:2478 +#: printer/printerdrake.pm:3037 printer/printerdrake.pm:3321 +#: printer/printerdrake.pm:3327 printer/printerdrake.pm:3891 +#: printer/printerdrake.pm:3895 printer/printerdrake.pm:3899 +#: printer/printerdrake.pm:4360 printer/printerdrake.pm:4601 +#: printer/printerdrake.pm:4629 printer/printerdrake.pm:4706 +#: printer/printerdrake.pm:4772 printer/printerdrake.pm:4892 +#: standalone/drakTermServ:394 standalone/drakTermServ:464 +#: standalone/drakTermServ:473 standalone/drakTermServ:774 +#: standalone/drakTermServ:781 standalone/drakTermServ:802 +#: standalone/drakTermServ:849 standalone/drakTermServ:1095 +#: standalone/drakTermServ:1572 standalone/drakTermServ:1588 +#: standalone/drakTermServ:1593 standalone/drakTermServ:1601 +#: standalone/drakTermServ:1613 standalone/drakTermServ:1634 +#: standalone/drakauth:36 standalone/drakbackup:498 standalone/drakbackup:612 #: standalone/drakbackup:1093 standalone/drakbackup:1125 #: standalone/drakbackup:1648 standalone/drakbackup:1804 #: standalone/drakbackup:2429 standalone/drakbackup:4118 @@ -485,9 +485,9 @@ msgid "Custom" msgstr "Aangepaste" #: Xconfig/main.pm:115 diskdrake/dav.pm:26 help.pm:14 -#: install_steps_interactive.pm:86 install_steps_interactive.pm:1320 +#: install_steps_interactive.pm:86 install_steps_interactive.pm:1322 #: printer/printerdrake.pm:882 printer/printerdrake.pm:899 -#: printer/printerdrake.pm:4692 printer/printerdrake.pm:5147 +#: printer/printerdrake.pm:4701 printer/printerdrake.pm:5165 #: standalone/drakhosts:263 standalone/drakids:62 standalone/drakids:71 #: standalone/drakids:79 standalone/drakroam:168 standalone/draksplash:94 #: standalone/logdrake:173 standalone/net_applet:82 @@ -668,7 +668,7 @@ msgstr "OK" #: install_steps_interactive.pm:830 interactive.pm:120 interactive.pm:437 #: interactive/http.pm:104 interactive/http.pm:160 interactive/newt.pm:318 #: interactive/stdio.pm:39 interactive/stdio.pm:142 -#: printer/printerdrake.pm:3966 standalone/drakautoinst:215 +#: printer/printerdrake.pm:3971 standalone/drakautoinst:215 #: standalone/drakbackup:1350 standalone/drakbackup:3901 #: standalone/drakbackup:3905 standalone/drakbackup:3963 #: standalone/drakconnect:157 standalone/drakconnect:937 @@ -686,8 +686,8 @@ msgstr "Kanselleer" #: standalone/drakbackup:3897 standalone/drakbug:105 #: standalone/drakconnect:153 standalone/drakconnect:236 #: standalone/drakfont:510 standalone/draknfs:206 standalone/drakperm:133 -#: standalone/draksambashare:314 standalone/draksec:336 standalone/draksec:338 -#: standalone/draksec:356 standalone/draksec:358 ugtk2.pm:1051 ugtk2.pm:1052 +#: standalone/draksambashare:314 standalone/draksec:342 standalone/draksec:344 +#: standalone/draksec:362 standalone/draksec:364 ugtk2.pm:1051 ugtk2.pm:1052 #, c-format msgid "Help" msgstr "Hulp" @@ -909,7 +909,7 @@ msgstr "Eerste sektor van die 'root'-partisie" msgid "On Floppy" msgstr "Op Disket" -#: any.pm:236 help.pm:739 printer/printerdrake.pm:4352 +#: any.pm:236 help.pm:739 printer/printerdrake.pm:4357 #, c-format msgid "Skip" msgstr "Mis hierdie stap" @@ -1252,7 +1252,7 @@ msgstr "" #: any.pm:636 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:154 #: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:81 help.pm:530 #: interactive/http.pm:151 printer/printerdrake.pm:197 -#: printer/printerdrake.pm:382 printer/printerdrake.pm:5147 +#: printer/printerdrake.pm:382 printer/printerdrake.pm:5165 #: standalone/drakbackup:2717 standalone/scannerdrake:668 #: standalone/scannerdrake:818 #, c-format @@ -1375,7 +1375,7 @@ msgid "Input method:" msgstr "Netwerkmetode:" #: any.pm:856 install_any.pm:417 network/netconnect.pm:301 -#: network/netconnect.pm:306 network/netconnect.pm:1178 network/wireless.pm:7 +#: network/netconnect.pm:306 network/netconnect.pm:1179 network/wireless.pm:7 #: printer/printerdrake.pm:105 printer/printerdrake.pm:2430 #, c-format msgid "None" @@ -1431,9 +1431,9 @@ msgstr "U kan uitvoer deur NFS of SMB te gebruik. Kies watter u wil gebruik." msgid "Launch userdrake" msgstr "Loods userdrake" -#: any.pm:1025 printer/printerdrake.pm:4191 printer/printerdrake.pm:4194 -#: printer/printerdrake.pm:4195 printer/printerdrake.pm:4196 -#: printer/printerdrake.pm:5459 standalone/drakTermServ:294 +#: any.pm:1025 printer/printerdrake.pm:4196 printer/printerdrake.pm:4199 +#: printer/printerdrake.pm:4200 printer/printerdrake.pm:4201 +#: printer/printerdrake.pm:5483 standalone/drakTermServ:294 #: standalone/drakbackup:4097 standalone/drakbug:126 standalone/drakfont:498 #: standalone/draknfs:210 standalone/net_monitor:117 #: standalone/printerdrake:583 @@ -1595,7 +1595,7 @@ msgstr "" msgid "Authentication Active Directory" msgstr "Magtigings-metode" -#: authentication.pm:111 authentication.pm:150 diskdrake/smbnfs_gtk.pm:181 +#: authentication.pm:111 diskdrake/smbnfs_gtk.pm:181 #, c-format msgid "Domain" msgstr "Domein" @@ -1627,11 +1627,6 @@ msgstr "" msgid "Password for user" msgstr "Benodig wagwoord" -#: authentication.pm:118 standalone/drakroam:46 -#, c-format -msgid "Encryption" -msgstr "Inkripsie" - #: authentication.pm:129 #, c-format msgid "Authentication NIS" @@ -1680,6 +1675,11 @@ msgstr "" msgid "Authentication Windows Domain" msgstr "Magtiging deur Windows-domein" +#: authentication.pm:150 +#, c-format +msgid "Active Directory Realm " +msgstr "" + #: authentication.pm:153 #, c-format msgid "Domain Admin User Name" @@ -2986,27 +2986,51 @@ msgstr "Soek bedieners" msgid "Search new servers" msgstr "Deursoek netnuus-bedieners" -#: do_pkgs.pm:16 do_pkgs.pm:34 +#: do_pkgs.pm:16 do_pkgs.pm:49 #, c-format msgid "The package %s needs to be installed. Do you want to install it?" msgstr "Die pakket %s moet geïnstalleer word. Wil u dit installeer?" -#: do_pkgs.pm:19 do_pkgs.pm:37 printer/printerdrake.pm:4032 +#: do_pkgs.pm:19 do_pkgs.pm:39 do_pkgs.pm:52 printer/printerdrake.pm:4037 #, fuzzy, c-format msgid "Could not install the %s package!" msgstr "Installeer pakket %s" -#: do_pkgs.pm:24 do_pkgs.pm:42 +#: do_pkgs.pm:24 do_pkgs.pm:57 #, c-format msgid "Mandatory package %s is missing" msgstr "Verpligte pakket %s ontbreek" -#: do_pkgs.pm:187 +#: do_pkgs.pm:35 harddrake/sound.pm:271 install_steps_interactive.pm:1307 +#: keyboard.pm:391 network/ndiswrapper.pm:95 network/netconnect.pm:455 +#: printer/printerdrake.pm:1429 printer/printerdrake.pm:2461 +#: printer/printerdrake.pm:2561 printer/printerdrake.pm:2607 +#: printer/printerdrake.pm:2674 printer/printerdrake.pm:2709 +#: printer/printerdrake.pm:3043 printer/printerdrake.pm:3050 +#: printer/printerdrake.pm:4036 printer/printerdrake.pm:4365 +#: printer/printerdrake.pm:4485 printer/printerdrake.pm:5644 +#: standalone/drakTermServ:326 standalone/drakTermServ:1205 +#: standalone/drakTermServ:1266 standalone/drakTermServ:1931 +#: standalone/drakbackup:497 standalone/drakbackup:596 standalone/drakboot:133 +#: standalone/drakclock:224 standalone/drakconnect:973 standalone/drakups:27 +#: standalone/harddrake2:479 standalone/localedrake:43 +#: standalone/scannerdrake:51 standalone/scannerdrake:940 +#, c-format +msgid "Warning" +msgstr "Waarskuwing" + +# +#: do_pkgs.pm:35 standalone/drakbackup:4109 standalone/harddrake2:479 +#, c-format +msgid "The following packages need to be installed:\n" +msgstr "Die volgende pakkette geïnstalleer word:\n" + +#: do_pkgs.pm:202 #, c-format msgid "Installing packages..." msgstr "Installeer pakkette..." -#: do_pkgs.pm:232 +#: do_pkgs.pm:247 #, c-format msgid "Removing packages..." msgstr "Verwyder pakkette..." @@ -3592,24 +3616,6 @@ msgstr "Drywer:" msgid "Trouble shooting" msgstr "Probleemoplossing" -#: harddrake/sound.pm:271 install_steps_interactive.pm:1305 keyboard.pm:391 -#: network/ndiswrapper.pm:95 network/netconnect.pm:455 -#: printer/printerdrake.pm:1429 printer/printerdrake.pm:2461 -#: printer/printerdrake.pm:2561 printer/printerdrake.pm:2607 -#: printer/printerdrake.pm:2674 printer/printerdrake.pm:2709 -#: printer/printerdrake.pm:3038 printer/printerdrake.pm:3045 -#: printer/printerdrake.pm:4031 printer/printerdrake.pm:4360 -#: printer/printerdrake.pm:4480 printer/printerdrake.pm:5620 -#: standalone/drakTermServ:326 standalone/drakTermServ:1205 -#: standalone/drakTermServ:1266 standalone/drakTermServ:1931 -#: standalone/drakbackup:497 standalone/drakbackup:596 standalone/drakboot:133 -#: standalone/drakclock:224 standalone/drakconnect:973 standalone/drakups:27 -#: standalone/harddrake2:479 standalone/localedrake:43 -#: standalone/scannerdrake:51 standalone/scannerdrake:940 -#, c-format -msgid "Warning" -msgstr "Waarskuwing" - #: harddrake/sound.pm:271 #, c-format msgid "" @@ -3919,7 +3925,7 @@ msgstr "Gebruiker" #: help.pm:51 help.pm:431 help.pm:681 install_steps_gtk.pm:237 #: install_steps_gtk.pm:685 interactive.pm:436 interactive/newt.pm:321 -#: network/thirdparty.pm:322 printer/printerdrake.pm:3968 +#: network/thirdparty.pm:347 printer/printerdrake.pm:3973 #: standalone/drakTermServ:384 standalone/drakbackup:3954 #: standalone/drakbackup:4048 standalone/drakbackup:4065 #: standalone/drakbackup:4083 ugtk2.pm:510 @@ -4748,17 +4754,17 @@ msgstr "" msgid "Generate auto-install floppy" msgstr "Skep outo-installasieskyf" -#: help.pm:409 install_steps_interactive.pm:1331 +#: help.pm:409 install_steps_interactive.pm:1333 #, c-format msgid "Replay" msgstr "Herspeel" -#: help.pm:409 install_steps_interactive.pm:1331 +#: help.pm:409 install_steps_interactive.pm:1333 #, c-format msgid "Automated" msgstr "Outomaties" -#: help.pm:409 install_steps_interactive.pm:1334 +#: help.pm:409 install_steps_interactive.pm:1336 #, c-format msgid "Save packages selection" msgstr "Stoor pakketseleksie" @@ -4812,7 +4818,7 @@ msgstr "" "getoets moet word." #: help.pm:431 install_steps_gtk.pm:392 interactive.pm:437 -#: interactive/newt.pm:318 printer/printerdrake.pm:3966 +#: interactive/newt.pm:318 printer/printerdrake.pm:3971 #: standalone/drakTermServ:363 standalone/drakbackup:3914 #: standalone/drakbackup:3953 standalone/drakbackup:4064 #: standalone/drakbackup:4079 ugtk2.pm:508 @@ -5522,7 +5528,7 @@ msgstr "" msgid "pdq" msgstr "pdq" -#: help.pm:765 printer/cups.pm:115 printer/data.pm:121 +#: help.pm:765 printer/cups.pm:117 printer/data.pm:129 #, c-format msgid "CUPS" msgstr "CUPS" @@ -5831,8 +5837,8 @@ msgid "" "Do you have a supplementary installation media to configure?" msgstr "Het u enige %s koppelvlakke?" -#: install_any.pm:417 printer/printerdrake.pm:3296 -#: printer/printerdrake.pm:3303 standalone/scannerdrake:182 +#: install_any.pm:417 printer/printerdrake.pm:3301 +#: printer/printerdrake.pm:3308 standalone/scannerdrake:182 #: standalone/scannerdrake:190 standalone/scannerdrake:241 #: standalone/scannerdrake:248 #, c-format @@ -7207,17 +7213,17 @@ msgstr "%s op %s" msgid "Services: %d activated for %d registered" msgstr "Dienste: %d ge-aktiveer vir %d geregistreer" -#: install_steps_interactive.pm:1141 +#: install_steps_interactive.pm:1143 #, c-format msgid "You have not configured X. Are you sure you really want this?" msgstr "U het nog nie 'X' opgestel nie. Verlang u dit regtig?" -#: install_steps_interactive.pm:1222 +#: install_steps_interactive.pm:1224 #, c-format msgid "Preparing bootloader..." msgstr "Herlaaistelsel word voorberei..." -#: install_steps_interactive.pm:1232 +#: install_steps_interactive.pm:1234 #, fuzzy, c-format msgid "" "You appear to have an OldWorld or Unknown machine, the yaboot bootloader " @@ -7230,12 +7236,12 @@ msgstr "" "Ons sal voortgaan met die installasie, maar u sal\n" "BootX of 'n ander manier moet gedruik om u rekenaar te selflaai" -#: install_steps_interactive.pm:1238 +#: install_steps_interactive.pm:1240 #, c-format msgid "Do you want to use aboot?" msgstr "Wil u aboot gebruik?" -#: install_steps_interactive.pm:1241 +#: install_steps_interactive.pm:1243 #, c-format msgid "" "Error installing aboot, \n" @@ -7244,7 +7250,7 @@ msgstr "" "Die 'aboot' installasie het gefaal. Wil u 'n installasie afwurg al\n" "word die eerste partisie vernietig?" -#: install_steps_interactive.pm:1258 +#: install_steps_interactive.pm:1260 #, c-format msgid "" "In this security level, access to the files in the Windows partition is " @@ -7253,22 +7259,22 @@ msgstr "" "Met hierdie sekuriteitsvlak word toegang na lêers op die Windows partisie " "vernou na slegs die administrateur" -#: install_steps_interactive.pm:1287 standalone/drakautoinst:76 +#: install_steps_interactive.pm:1289 standalone/drakautoinst:76 #, c-format msgid "Insert a blank floppy in drive %s" msgstr "Sit 'n leë floppie in aandrywer %s" -#: install_steps_interactive.pm:1292 +#: install_steps_interactive.pm:1294 #, fuzzy, c-format msgid "Please insert another floppy for drivers disk" msgstr "Plaas die herlaaiskyf wat gebruik is, in aandrywer %s" -#: install_steps_interactive.pm:1294 +#: install_steps_interactive.pm:1296 #, c-format msgid "Creating auto install floppy..." msgstr "Outoinstallasieskyf word geskep." -#: install_steps_interactive.pm:1306 +#: install_steps_interactive.pm:1308 #, c-format msgid "" "Some steps are not completed.\n" @@ -7279,19 +7285,19 @@ msgstr "" "\n" "Wil u werklik nou eindig?" -#: install_steps_interactive.pm:1316 standalone/draksambashare:416 +#: install_steps_interactive.pm:1318 standalone/draksambashare:416 #: standalone/draksambashare:523 standalone/drakups:120 standalone/drakups:159 #: standalone/logdrake:449 standalone/logdrake:455 #, c-format msgid "Congratulations" msgstr "Geluk" -#: install_steps_interactive.pm:1324 install_steps_interactive.pm:1325 +#: install_steps_interactive.pm:1326 install_steps_interactive.pm:1327 #, c-format msgid "Generate auto install floppy" msgstr "Skep outoinstallasieskyf" -#: install_steps_interactive.pm:1326 +#: install_steps_interactive.pm:1328 #, c-format msgid "" "The auto install can be fully automated if wanted,\n" @@ -9929,8 +9935,8 @@ msgstr "Vuurmuur" #: network/drakfirewall.pm:252 #, c-format msgid "" -"You can be warned when someone access to a service or tries to intrude into " -"your computer.\n" +"You can be warned when someone accesses to a service or tries to intrude " +"into your computer.\n" "Please select which network activity should be watched." msgstr "" @@ -10091,7 +10097,7 @@ msgstr "" "Protokol vir die res vd wêreld \n" "geen D-Kanaal nie (bruikhuurlyne)" -#: network/netconnect.pm:115 network/thirdparty.pm:184 +#: network/netconnect.pm:115 network/thirdparty.pm:197 #, c-format msgid "Alcatel speedtouch USB modem" msgstr "Alcatel speedtouch USB-modem" @@ -10342,7 +10348,7 @@ msgid "Use BPALogin (needed for Telstra)" msgstr "" #: network/netconnect.pm:332 network/netconnect.pm:649 -#: network/netconnect.pm:798 network/netconnect.pm:1111 +#: network/netconnect.pm:798 network/netconnect.pm:1112 #, c-format msgid "Select the network interface to configure:" msgstr "Kies die netwerkkoppelvlak om op te stel:" @@ -10949,37 +10955,37 @@ msgstr "" "Tempo moet agtervoegsels van k,M, of G kry (byvoorbeeld \"11M\" vir 11M) of " "voeg genoeg 0'e (zero'z) by." -#: network/netconnect.pm:1111 +#: network/netconnect.pm:1112 #, c-format msgid "DVB configuration" msgstr "" -#: network/netconnect.pm:1112 +#: network/netconnect.pm:1113 #, c-format msgid "DVB Adapter" msgstr "" -#: network/netconnect.pm:1129 +#: network/netconnect.pm:1130 #, c-format msgid "DVB adapter settings" msgstr "" -#: network/netconnect.pm:1132 +#: network/netconnect.pm:1133 #, c-format msgid "Adapter card" msgstr "" -#: network/netconnect.pm:1133 +#: network/netconnect.pm:1134 #, c-format msgid "Net demux" msgstr "" -#: network/netconnect.pm:1134 +#: network/netconnect.pm:1135 #, c-format msgid "PID" msgstr "" -#: network/netconnect.pm:1162 +#: network/netconnect.pm:1163 #, c-format msgid "" "Please enter your host name.\n" @@ -10992,72 +10998,72 @@ msgstr "" "bv. ``myne.mywerk.co.za''.\n" "U mag ook die netwerkhek byvoeg indien daar een is" -#: network/netconnect.pm:1167 +#: network/netconnect.pm:1168 #, c-format msgid "Last but not least you can also type in your DNS server IP addresses." msgstr "" "Laaste, maar nie die minste nie, kan u ook die DNS-bediener(s) se IP(s) " "voorsien." -#: network/netconnect.pm:1169 standalone/drakconnect:991 +#: network/netconnect.pm:1170 standalone/drakconnect:991 #, c-format msgid "Host name (optional)" msgstr "Rekenaarnaam (opsioneel)" # -#: network/netconnect.pm:1169 standalone/drakhosts:197 +#: network/netconnect.pm:1170 standalone/drakhosts:197 #, c-format msgid "Host name" msgstr "Rekenaarnaam" -#: network/netconnect.pm:1171 +#: network/netconnect.pm:1172 #, c-format msgid "DNS server 1" msgstr "DNS-bediener 1" -#: network/netconnect.pm:1172 +#: network/netconnect.pm:1173 #, c-format msgid "DNS server 2" msgstr "DNS-bediener 2" -#: network/netconnect.pm:1173 +#: network/netconnect.pm:1174 #, c-format msgid "DNS server 3" msgstr "DNS-bediener 3" -#: network/netconnect.pm:1174 +#: network/netconnect.pm:1175 #, c-format msgid "Search domain" msgstr "Deursoek domein" -#: network/netconnect.pm:1175 +#: network/netconnect.pm:1176 #, c-format msgid "By default search domain will be set from the fully-qualified host name" msgstr "" "Die domein om te deursoek, sal by verstek vanaf die \"fully-qualified host " "name\" FQHN af kom" -#: network/netconnect.pm:1176 +#: network/netconnect.pm:1177 #, c-format msgid "Gateway (e.g. %s)" msgstr "Deurgangspoort (bv. %s)" -#: network/netconnect.pm:1178 +#: network/netconnect.pm:1179 #, c-format msgid "Gateway device" msgstr "Deurgangtoestel" -#: network/netconnect.pm:1187 +#: network/netconnect.pm:1188 #, c-format msgid "DNS server address should be in format 1.2.3.4" msgstr "DNS-adres moet in 1.2.3.4. formaat wees" -#: network/netconnect.pm:1192 standalone/drakconnect:685 +#: network/netconnect.pm:1193 standalone/drakconnect:685 #, c-format msgid "Gateway address should be in format 1.2.3.4" msgstr "Deurgang IP-adres moet in 1.2.3.4. formaat wees" -#: network/netconnect.pm:1205 +#: network/netconnect.pm:1206 #, c-format msgid "" "If desired, enter a Zeroconf hostname.\n" @@ -11067,67 +11073,67 @@ msgid "" msgstr "" # -#: network/netconnect.pm:1209 +#: network/netconnect.pm:1210 #, c-format msgid "Zeroconf Host name" msgstr "Zeroconf Rekenaarnaam" -#: network/netconnect.pm:1212 +#: network/netconnect.pm:1213 #, c-format msgid "Zeroconf host name must not contain a ." msgstr "'Zeroconf'-naam mag nie 'n '.' bevat nie" -#: network/netconnect.pm:1222 +#: network/netconnect.pm:1223 #, fuzzy, c-format msgid "Do you want to allow users to start the connection?" msgstr "Wil u die konneksie met herlaaityd aanskakel?" -#: network/netconnect.pm:1235 +#: network/netconnect.pm:1236 #, c-format msgid "Do you want to start the connection at boot?" msgstr "Wil u die konneksie met herlaaityd aanskakel?" -#: network/netconnect.pm:1250 +#: network/netconnect.pm:1251 #, fuzzy, c-format msgid "Automatically at boot" msgstr "Begin tydens herlaaityd" -#: network/netconnect.pm:1252 +#: network/netconnect.pm:1253 #, c-format msgid "By using Net Applet in the system tray" msgstr "" -#: network/netconnect.pm:1254 +#: network/netconnect.pm:1255 #, c-format msgid "Manually (the interface would still be activated at boot)" msgstr "" -#: network/netconnect.pm:1263 +#: network/netconnect.pm:1264 #, fuzzy, c-format msgid "How do you want to dial this connection?" msgstr "Wil u die konneksie met herlaaityd aanskakel?" -#: network/netconnect.pm:1276 +#: network/netconnect.pm:1277 #, c-format msgid "Do you want to try to connect to the Internet now?" msgstr "Wil u nou aan die internet konnekteer?" -#: network/netconnect.pm:1284 standalone/drakconnect:1023 +#: network/netconnect.pm:1285 standalone/drakconnect:1023 #, c-format msgid "Testing your connection..." msgstr "Konneksie word getoets..." -#: network/netconnect.pm:1304 +#: network/netconnect.pm:1305 #, c-format msgid "The system is now connected to the Internet." msgstr "Die stelsel is nou aan die internet gekonnekteer." -#: network/netconnect.pm:1305
sub isBusy { isMounted($_[0]) || isPartOfRAID($_[0]) || isPartOfLVM($_[0]) || isPartOfLoopback($_[0]) }
sub isSpecial { isRAID($_[0]) || isLVM($_[0]) || isLoopback($_[0]) || isUBD($_[0]) }
sub maybeFormatted { $_[0]{isFormatted} || !$_[0]{notFormatted} }
#- works for both hard drives and partitions ;p
sub description {
my ($hd) = @_;
my $win = $hd->{device_windobe};
sprintf "%s%s (%s%s%s%s)",
$hd->{device},
$win && " [$win:]",
formatXiB($hd->{totalsectors} || $hd->{size}, 512),
$hd->{info} && ", $hd->{info}",
$hd->{mntpoint} && ", " . $hd->{mntpoint},
$hd->{type} && ", " . type2name($hd->{type});
}
sub isPrimary {
my ($part, $hd) = @_;
foreach (@{$hd->{primary}{raw}}) { $part eq $_ and return 1 }
0;
}
sub adjustStartAndEnd {
my ($hd, $part) = @_;
$hd->adjustStart($part);
$hd->adjustEnd($part);
}
sub verifyNotOverlap {
my ($a, $b) = @_;
$a->{start} + $a->{size} <= $b->{start} || $b->{start} + $b->{size} <= $a->{start};
}
sub verifyInside {
my ($a, $b) = @_;
$b->{start} <= $a->{start} && $a->{start} + $a->{size} <= $b->{start} + $b->{size};
}
sub verifyParts_ {
foreach my $i (@_) {
foreach (@_) {
next if !$i || !$_ || $i == $_ || isWholedisk($i) || isExtended($i); #- avoid testing twice for simplicity :-)
if (isWholedisk($_)) {
verifyInside($i, $_) or
cdie sprintf("partition sector #$i->{start} (%s) is not inside whole disk (%s)!",
formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
} elsif (isExtended($_)) {
verifyNotOverlap($i, $_) or
log::l(sprintf("warning partition sector #$i->{start} (%s) is overlapping with extended partition!",
formatXiB($i->{size}, 512))); #- only warning for this one is acceptable
} else {
verifyNotOverlap($i, $_) or
cdie sprintf("partitions sector #$i->{start} (%s) and sector #$_->{start} (%s) are overlapping!",
formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
}
}
}
}
sub verifyParts {
my ($hd) = @_;
verifyParts_(get_normal_parts($hd));
}
sub verifyPrimary {
my ($pt) = @_;
$_->{start} > 0 || arch() =~ /^sparc/ || die "partition must NOT start at sector 0" foreach @{$pt->{normal}};
verifyParts_(@{$pt->{normal}}, $pt->{extended});
}
sub assign_device_numbers {
my ($hd) = @_;
my $i = 1;
my $start = 1;
#- on PPC we need to assign device numbers to the holes too - big FUN!
#- not if it's an IBM machine using a DOS partition table though
if (arch() =~ /ppc/ && detect_devices::get_mac_model() !~ /^IBM/) {
#- first sort the normal parts
$hd->{primary}{normal} = [sort { $a->{start} <=> $b->{start} } @{$hd->{primary}{normal}} ];
#- now loop through them, assigning partition numbers - reserve one for the holes
foreach (@{$hd->{primary}{normal}}) {
if ($_->{start} > $start) {
log::l("PPC: found a hole on $hd->{prefix} before $_->{start}, skipping device...");
$i++;
}
$_->{device} = $hd->{prefix} . $i;
$_->{devfs_device} = $hd->{devfs_prefix} . '/part' . $i;
$start = $_->{start} + $_->{size};
$i++;
}
} else {
foreach (@{$hd->{primary}{raw}}) {
$_->{device} = $hd->{prefix} . $i;
$_->{devfs_device} = $hd->{devfs_prefix} . '/part' . $i;
$i++;
}
foreach (map { $_->{normal} } @{$hd->{extended} || []}) {
my $dev = $hd->{prefix} . $i;
push @{$hd->{partitionsRenumbered}}, [ $_->{device}, $dev ] if $_->{device} && $dev ne $_->{device};
$_->{device} = $dev;
$_->{devfs_device} = $hd->{devfs_prefix} . '/part' . $i;
$i++;
}
}
#- try to figure what the windobe drive letter could be!
#
#- first verify there's at least one primary dos partition, otherwise it
#- means it is a secondary disk and all will be false :(
my ($c, @others) = grep { isFat($_) } @{$hd->{primary}{normal}};
$i = ord 'C';
$c->{device_windobe} = chr($i++) if $c;
$_->{device_windobe} = chr($i++) foreach grep { isFat($_) } map { $_->{normal} } @{$hd->{extended}};
$_->{device_windobe} = chr($i++) foreach @others;
}
sub remove_empty_extended {
my ($hd) = @_;
my $last = $hd->{primary}{extended} or return;
@{$hd->{extended}} = grep {
if ($_->{normal}) {
$last = $_;
} else {
%{$last->{extended}} = $_->{extended} ? %{$_->{extended}} : ();
}
$_->{normal};
} @{$hd->{extended}};
adjust_main_extended($hd);
}
sub adjust_main_extended {
my ($hd) = @_;
if (!is_empty_array_ref $hd->{extended}) {
my ($l, @l) = @{$hd->{extended}};
# the first is a special case, must recompute its real size
my $start = round_down($l->{normal}{start} - 1, $hd->{geom}{sectors});
my $end = $l->{normal}{start} + $l->{normal}{size};
my $only_linux = 1; my $has_win_lba = 0;
foreach (map $_->{normal}, $l, @l) {
$start = min($start, $_->{start});
$end = max($end, $_->{start} + $_->{size});
$only_linux &&= isTrueFS($_) || isSwap($_);
$has_win_lba ||= $_->{type} == 0xc || $_->{type} == 0xe;
}
$l->{start} = $hd->{primary}{extended}{start} = $start;
$l->{size} = $hd->{primary}{extended}{size} = $end - $start;
}
if (!@{$hd->{extended} || []} && $hd->{primary}{extended}) {
%{$hd->{primary}{extended}} = (); #- modify the raw entry
delete $hd->{primary}{extended};
}
verifyParts($hd); #- verify everything is all right
}
sub adjust_local_extended {
my ($hd, $part) = @_;
foreach (@{$hd->{extended} || []}) {
$_->{normal} == $part or next;
$_->{size} = $part->{size} + $part->{start} - $_->{start};
last;
}
}
sub get_normal_parts {
my ($hd) = @_;
@{$hd->{primary}{normal} || []}, map { $_->{normal} } @{$hd->{extended} || []}
}
sub get_normal_parts_and_holes {
my ($hd) = @_;
my ($start, $last) = ($hd->first_usable_sector, $hd->last_usable_sector);
ref($hd) or print("get_normal_parts_and_holes: bad hd" . backtrace(), "\n");
my @l = map {
my $current = $start;
$start = $_->{start} + $_->{size};
my $hole = { start => $current, size => $_->{start} - $current, type => 0, rootDevice => $hd->{device} };
$hole, $_;
} sort { $a->{start} <=> $b->{start} } grep { !isWholedisk($_) } get_normal_parts($hd);
push @l, { start => $start, size => $last - $start, type => 0, rootDevice => $hd->{device} };
grep { $_->{type} || $_->{size} >= $hd->cylinder_size } @l;
}
sub read_one($$) {
my ($hd, $sector) = @_;
my ($pt, $info);
#- it can be safely considered that the first sector is used to probe the partition table
#- but other sectors (typically for extended partition ones) have to match this type!
if (!$sector) {
my @parttype = (
if_(arch() =~ /^ia64/, 'gpt'),
arch() =~ /^sparc/ ? ('sun', 'bsd') : ('dos', 'bsd', 'sun', 'mac'),
);
foreach ('empty', @parttype, 'lvm_PV', 'unknown') {
/unknown/ and die "unknown partition table format on disk " . $hd->{file};
eval {
require("partition_table/$_.pm");
bless $hd, "partition_table::$_";
($pt, $info) = $hd->read($sector);
log::l("found a $_ partition table on $hd->{file} at sector $sector");
};
$@ or last;
}
} else {
#- keep current blessed object for that, this means it is neccessary to read sector 0 before.
($pt, $info) = $hd->read($sector);
}
my @extended = $hd->hasExtended ? grep { isExtended($_) } @$pt : ();
my @normal = grep { $_->{size} && $_->{type} && !isExtended($_) } @$pt;
@extended > 1 and die "more than one extended partition";
$_->{rootDevice} = $hd->{device} foreach @normal, @extended;
{ raw => $pt, extended => $extended[0], normal => \@normal, info => $info };
}
sub read {
my ($hd) = @_;
my $pt = read_one($hd, 0) or return 0;
$hd->{primary} = $pt;
undef $hd->{extended};
verifyPrimary($pt);
eval {
my $need_removing_empty_extended;
$pt->{extended} and read_extended($hd, $pt->{extended}, \$need_removing_empty_extended) || return 0;
if ($need_removing_empty_extended) {
#- special case when hda5 is empty, it must be skipped
#- (windows XP generates such partition tables)
remove_empty_extended($hd); #- includes adjust_main_extended
}
};
die "extended partition: $@" if $@;
assign_device_numbers($hd);
remove_empty_extended($hd);
1;
}
sub read_extended {
my ($hd, $extended, $need_removing_empty_extended) = @_;
my $pt = read_one($hd, $extended->{start}) or return 0;
$pt = { %$extended, %$pt };
push @{$hd->{extended}}, $pt;
@{$hd->{extended}} > 100 and die "oops, seems like we're looping here :( (or you have more than 100 extended partitions!)";
if (@{$pt->{normal}} == 0) {
$$need_removing_empty_extended = 1;
delete $pt->{normal};
print "need_removing_empty_extended\n";
} elsif (@{$pt->{normal}} > 1) {
die "more than one normal partition in extended partition";
} else {
$pt->{normal} = $pt->{normal}[0];
#- in case of extended partitions, the start sector is local to the partition or to the first extended_part!
$pt->{normal}{start} += $pt->{start};
#- the following verification can broke an existing partition table that is
#- correctly read by fdisk or cfdisk. maybe the extended partition can be
#- recomputed to get correct size.
if (!verifyInside($pt->{normal}, $extended)) {
$extended->{size} = $pt->{normal}{start} + $pt->{normal}{size};
verifyInside($pt->{normal}, $extended) or die "partition $pt->{normal}{device} is not inside its extended partition";
}
}
if ($pt->{extended}) {
$pt->{extended}{start} += $hd->{primary}{extended}{start};
return read_extended($hd, $pt->{extended}, $need_removing_empty_extended);
} else {
1;
}
}
# write the partition table
sub write {
my ($hd) = @_;
$hd->{isDirty} or return;
$hd->{readonly} and die "a read-only partition table should not be dirty!";
#- set first primary partition active if no primary partitions are marked as active.
if (my @l = @{$hd->{primary}{raw}}) {
foreach (@l) {
$_->{local_start} = $_->{start};
$_->{active} ||= 0;
}
$l[0]{active} = 0x80 if !grep { $_->{active} } @l;
}
#- last chance for verification, this make sure if an error is detected,
#- it will never be writed back on partition table.
verifyParts($hd);
$hd->write(0, $hd->{primary}{raw}, $hd->{primary}{info}) or die "writing of partition table failed";
#- should be fixed but a extended exist with no real extended partition, that blanks mbr!
if (arch() !~ /^sparc/) {
foreach (@{$hd->{extended}}) {
# in case of extended partitions, the start sector must be local to the partition
$_->{normal}{local_start} = $_->{normal}{start} - $_->{start};
$_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start};
$hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed";
}
}
$hd->{isDirty} = 0;
$hd->{hasBeenDirty} = 1; #- used in undo (to know if undo should believe isDirty or not)
if ($hd->{needKernelReread} && ref($hd->{needKernelReread}) eq 'ARRAY' && $::isStandalone) {
#- we've only been adding partitions. Try special add_partition (using BLKPG_ADD_PARTITION)
local *F;
partition_table::raw::openit($hd, *F) or goto force_reread;
foreach (@{$hd->{needKernelReread}}) {
c::add_partition(fileno F, $_->{start}, $_->{size}, $_->{device} =~ /(\d+)$/)
or goto force_reread;
}
} elsif ($hd->{needKernelReread}) {
force_reread:
#- now sync disk and re-read the partition table
common::sync();
my @magic_parts = grep { $_->{isMounted} && $_->{real_mntpoint} } get_normal_parts($hd);
foreach (@magic_parts) {
syscall_('umount', $_->{real_mntpoint}) or log::l(N("error unmounting %s: %s", $_->{real_mntpoint}, "$!"));
}
$hd->kernel_read;
foreach (@magic_parts) {
syscall_('mount', $_->{real_mntpoint}, type2fs($_), c::MS_MGC_VAL()) or log::l(N("mount failed: ") . "$!");
}
}
$hd->{needKernelReread} = 0;
}
sub active {
my ($hd, $part) = @_;
$_->{active} = 0 foreach @{$hd->{primary}{normal}};
$part->{active} = 0x80;
$hd->{isDirty} = 1;
}
# remove a normal partition from hard drive hd
sub remove {
my ($hd, $part) = @_;
my $i;
#- first search it in the primary partitions
$i = 0; foreach (@{$hd->{primary}{normal}}) {
if ($_ eq $part) {
splice(@{$hd->{primary}{normal}}, $i, 1);
%$_ = (); #- blank it
$hd->raw_removed($hd->{primary}{raw});
return $hd->{isDirty} = $hd->{needKernelReread} = 1;
}
$i++;
}
my ($first, $second, $third) = map { $_->{normal} } @{$hd->{extended} || []};
if ($third && $first eq $part) {
die "Can't handle removing hda5 when hda6 is not the second partition" if $second->{start} > $third->{start};
}
#- otherwise search it in extended partitions
foreach (@{$hd->{extended} || []}) {
$_->{normal} eq $part or next;
delete $_->{normal}; #- remove it
remove_empty_extended($hd);
assign_device_numbers($hd);
return $hd->{isDirty} = $hd->{needKernelReread} = 1;
}
0;
}
# create of partition at starting at `start', of size `size' and of type `type' (nice comment, uh?)
sub add_primary {
my ($hd, $part) = @_;
{
local $hd->{primary}{normal}; #- save it to fake an addition of $part, that way add_primary do not modify $hd if it fails
push @{$hd->{primary}{normal}}, $part;
adjust_main_extended($hd); #- verify
$hd->raw_add($hd->{primary}{raw}, $part);
}
push @{$hd->{primary}{normal}}, $part; #- really do it
}
sub add_extended {
arch() =~ /^sparc|ppc/ and die N("Extended partition not supported on this platform");
my ($hd, $part, $extended_type) = @_;
$extended_type =~ s/Extended_?//;
my $e = $hd->{primary}{extended};
if ($e && !verifyInside($part, $e)) {
#-die "sorry, can't add outside the main extended partition" unless $::unsafe;
my $end = $e->{start} + $e->{size};
my $start = min($e->{start}, $part->{start});
$end = max($end, $part->{start} + $part->{size}) - $start;
{ #- faking a resizing of the main extended partition to test for problems
local $e->{start} = $start;
local $e->{size} = $end - $start;
eval { verifyPrimary($hd->{primary}) };
$@ and die
N("You have a hole in your partition table but I can't use it.
The only solution is to move your primary partitions to have the hole next to the extended partitions.");
}
}
if ($e && $part->{start} < $e->{start}) {
my $l = first(@{$hd->{extended}});
#- the first is a special case, must recompute its real size
$l->{start} = round_down($l->{normal}{start} - 1, $hd->cylinder_size());
$l->{size} = $l->{normal}{start} + $l->{normal}{size} - $l->{start};
my $ext = { %$l };
unshift @{$hd->{extended}}, { type => 5, raw => [ $part, $ext, {}, {} ], normal => $part, extended => $ext };
#- size will be autocalculated :)
} else {
my ($ext, $ext_size) = is_empty_array_ref($hd->{extended}) ?
($hd->{primary}, -1) : #- -1 size will be computed by adjust_main_extended
(top(@{$hd->{extended}}), $part->{size});
my %ext = (type => $extended_type || 5, start => $part->{start}, size => $ext_size);
$hd->raw_add($ext->{raw}, \%ext);
$ext->{extended} = \%ext;
push @{$hd->{extended}}, { %ext, raw => [ $part, {}, {}, {} ], normal => $part };
}
$part->{start}++; $part->{size}--; #- let it start after the extended partition sector
adjustStartAndEnd($hd, $part);
adjust_main_extended($hd);
}
sub add {
my ($hd, $part, $primaryOrExtended, $forceNoAdjust) = @_;
get_normal_parts($hd) >= ($hd->{device} =~ /^rd/ ? 7 : $hd->{device} =~ /^(sd|ida|cciss|ataraid)/ ? 15 : 63) and cdie "maximum number of partitions handled by linux reached";
$part->{notFormatted} = 1;
$part->{isFormatted} = 0;
$part->{rootDevice} = $hd->{device};
$part->{start} ||= 1 if arch() !~ /^sparc/; #- starting at sector 0 is not allowed
adjustStartAndEnd($hd, $part) unless $forceNoAdjust;
my $e = $hd->{primary}{extended};
my $nb_primaries = $hd->{device} =~ /^rd/ ? 3 : 1;
if (arch() =~ /^sparc|ppc/ ||
$primaryOrExtended eq 'Primary' ||
$primaryOrExtended !~ /Extended/ && @{$hd->{primary}{normal} || []} < $nb_primaries) {
eval { add_primary($hd, $part) };
goto success if !$@;
}
if ($hd->hasExtended) {
eval { add_extended($hd, $part, $primaryOrExtended) };
goto success if !$@;
}
{
add_primary($hd, $part);
}
success:
assign_device_numbers($hd);
$hd->{isDirty} = 1;
push @{$hd->{needKernelReread} ||= []}, $part if !$hd->{needKernelReread} || ref($hd->{needKernelReread}) eq 'ARRAY'
}
# search for the next partition
sub next {
my ($hd, $part) = @_;
first(
sort { $a->{start} <=> $b->{start} }
grep { $_->{start} >= $part->{start} + $part->{size} }
get_normal_parts($hd)
);
}
sub next_start {
my ($hd, $part) = @_;
my $next = &next($hd, $part);
$next ? $next->{start} : $hd->{totalsectors};
}
sub load {
my ($hd, $file, $force) = @_;
local *F;
open F, $file or die N("Error reading file %s", $file);
my $h;
{
local $/ = "\0";
eval <F>;
}
$@ and die N("Restoring from file %s failed: %s", $file, $@);
ref $h eq 'ARRAY' or die N("Bad backup file");
my %h; @h{@fields2save} = @$h;
$h{totalsectors} == $hd->{totalsectors} or $force or cdie "bad totalsectors";
#- unsure we don't modify totalsectors
local $hd->{totalsectors};
@{$hd}{@fields2save} = @$h;
delete @$_{qw(isMounted isFormatted notFormatted toFormat toFormatUnsure)} foreach get_normal_parts($hd);
$hd->{isDirty} = $hd->{needKernelReread} = 1;
}
sub save {
my ($hd, $file) = @_;
my @h = @{$hd}{@fields2save};
require Data::Dumper;
local *F;
open F, ">$file"
and print F Data::Dumper->Dump([\@h], ['$h']), "\0"
or die N("Error writing to file %s", $file);
}
|