# Cirilicni prevod drakbootdisk.po fajla. # Copyright (C) 1997-2003 MandrakeSERBIA. # Tomislav Jankovic , 2000. # # msgid "" msgstr "" "Project-Id-Version: DrakX\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-21 02:03+0100\n" "PO-Revision-Date: 2004-09-15 13:33+0200\n" "Last-Translator: Toma Jankovic_\n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.6\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../../advertising/01_IM_mageia.pl:1 #, c-format msgid "Welcome" msgstr "" #: ../../advertising/02_IM_mageia.pl:1 #, c-format msgid "People!" msgstr "" #: ../../advertising/03_IM_mageia.pl:1 #, c-format msgid "For people" msgstr "" #: ../../advertising/04_IM_mageia.pl:1 #, c-format msgid "For developers" msgstr "" #: ../../advertising/05_IM_mageia.pl:1 #, c-format msgid "For contributors" msgstr "" #: ../../advertising/06_IM_mageia.pl:1 #, c-format msgid "For you" msgstr "" #: ../../advertising/07_IM_mageia.pl:1 #, c-format msgid "Welcome!" msgstr "" #: any.pm:110 #, c-format msgid "Do you have further supplementary media?" msgstr "Da li imate još dodatnih medija?" #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: any.pm:113 #, c-format msgid "" "The following media have been found and will be used during install: %s.\n" "\n" "\n" "Do you have a supplementary installation medium to configure?" msgstr "" "Sledeći mediji su pronađeni i biće korićeni tokom instalacije: %s.\n" "\n" "\n" "Da li imate dodatnih instalacionih medija koje treba podesiti?" #: any.pm:121 #, c-format msgid "CD-ROM" msgstr "CD-ROM" #: any.pm:122 #, c-format msgid "Network (HTTP)" msgstr "Mreža (HTTP)" #: any.pm:123 #, c-format msgid "Network (FTP)" msgstr "Mreža (FTP)" #: any.pm:124 #, c-format msgid "Network (NFS)" msgstr "Mreža (NFS)" #: any.pm:166 #, c-format msgid "URL of the mirror?" msgstr "URL mirora?" #: any.pm:172 #, c-format msgid "URL must start with ftp:// or http://" msgstr "URL mora počinjati sa ftp:// ili http://" #: any.pm:183 #, c-format msgid "Contacting %s web site to get the list of available mirrors..." msgstr "Kontaktirajte %s web sajt da bi dobili listu dostupnih mirror-a..." #: any.pm:188 #, c-format msgid "Failed contacting %s web site to get the list of available mirrors" msgstr "" "Neuspešno uspostavljanje veze sa %s web sajt radi liste dostupnih mirror-a" #: any.pm:198 #, c-format msgid "Choose a mirror from which to get the packages" msgstr "Izaberite mirror sa kog ćete skinuti pakete" #: any.pm:228 #, c-format msgid "NFS setup" msgstr "Podešavanje NFS-a" #: any.pm:229 #, c-format msgid "Please enter the hostname and directory of your NFS media" msgstr "Unesite ime domaćina-hostname i direktorijum vašeg NFS medija" #: any.pm:233 #, c-format msgid "Hostname missing" msgstr "Nedostaje ime domaćina-hostname" #: any.pm:234 #, c-format msgid "Directory must begin with \"/\"" msgstr "Direktorijum mora početi sa \"/\"" #: any.pm:238 #, c-format msgid "Hostname of the NFS mount ?" msgstr "Ime domaćina-hostname za montiranje NFS ?" #: any.pm:239 #, c-format msgid "Directory" msgstr "Direktorijum" #: any.pm:261 #, c-format msgid "Supplementary" msgstr "Dodatni" #: any.pm:296 #, c-format msgid "" "Can't find a package list file on this mirror. Make sure the location is " "correct." msgstr "" "Ne mogu pronađem listu paketa na ovom miroru. proverite da li lokacija " "ispravna." #: any.pm:335 #, c-format msgid "Looking at packages already installed..." msgstr "Tražim već instalirane pakete..." #: any.pm:370 #, c-format msgid "Finding packages to upgrade..." msgstr "Tražim pakete za ažuriranje..." #: any.pm:389 #, c-format msgid "Removing packages prior to upgrade..." msgstr "Uklanjam stare pakete..." #. -PO: keep the double empty lines between sections, this is formatted a la LaTeX #: any.pm:613 #, c-format msgid "" "The following packages will be removed to allow upgrading your system: %s\n" "\n" "\n" "Do you really want to remove these packages?\n" msgstr "" "Sledeći paketi će biti uklonjeni da bi sistem mogao da se ažurira: %s\n" "\n" "\n" "Da li zaista želite da uklonite ove pakete?\n" #: any.pm:832 #, c-format msgid "Error reading file %s" msgstr "Greška kod otvaranja datoteka %s" #: any.pm:1039 #, c-format msgid "The following disk(s) were renamed:" msgstr "Sledeći disk(ovi) će biti preimenovani:" #: any.pm:1041 #, c-format msgid "%s (previously named as %s)" msgstr "%s (ranije sa imenom %s)" #: any.pm:1098 #, c-format msgid "HTTP" msgstr "HTTP" #: any.pm:1098 #, c-format msgid "FTP" msgstr "FTP" #: any.pm:1098 #, c-format msgid "NFS" msgstr "NFS" #: any.pm:1117 steps_interactive.pm:946 #, c-format msgid "Network" msgstr "Mreža" #: any.pm:1121 #, c-format msgid "Please choose a media" msgstr "Izaberite medij" #: any.pm:1137 #, c-format msgid "File already exists. Overwrite it?" msgstr "Datoteka već postoji. Da li prepišem preko postojeće?" #: any.pm:1141 #, c-format msgid "Permission denied" msgstr "Pristup odbijen" #: any.pm:1189 #, c-format msgid "Bad NFS name" msgstr "Pogrešno NFS ime" #: any.pm:1210 #, c-format msgid "Bad media %s" msgstr "Loš medij %s" #: any.pm:1253 #, c-format msgid "Cannot make screenshots before partitioning" msgstr "Ne mogu da napravim snimak pre particioniranja" #: any.pm:1261 #, c-format msgid "Screenshots will be available after install in %s" msgstr "Snimci će biti dostupni nakon instalacije u %s" #: gtk.pm:131 #, c-format msgid "Installation" msgstr "Instalacija" #: gtk.pm:135 share/meta-task/compssUsers.pl:43 #, c-format msgid "Configuration" msgstr "Konfiguracija" #: install2.pm:168 #, c-format msgid "You must also format %s" msgstr "Morate i %s da formatirate" #: interactive.pm:16 #, c-format msgid "" "Some hardware on your computer needs ``proprietary'' drivers to work.\n" "You can find some information about them at: %s" msgstr "" "Neke hardverske komponente u vašem računaru zahtevaju odgovarajuće drajvere " "da bi normalno funkcionisale.\n" "Informacije o njima možete pronaći na: %s" #: interactive.pm:22 #, c-format msgid "Bringing up the network" msgstr "Pristupam mrežu" #: interactive.pm:27 #, c-format msgid "Bringing down the network" msgstr "Odstupam od mreže" #: media.pm:409 #, c-format msgid "Please wait, retrieving file" msgstr "" #: media.pm:724 #, c-format msgid "unable to add medium" msgstr "" #: media.pm:764 #, c-format msgid "Copying some packages on disks for future use" msgstr "Kopiranje nekih poaketa na diskove radi kasnije upotrebe" #: media.pm:817 #, c-format msgid "Copying in progress" msgstr "Kopiranje u toku" #: pkgs.pm:33 #, c-format msgid "must have" msgstr "morate imati" #: pkgs.pm:34 #, c-format msgid "important" msgstr "važno" #: pkgs.pm:35 #, c-format msgid "very nice" msgstr "veoma lepo" #: pkgs.pm:36 #, c-format msgid "nice" msgstr "lepo" #: pkgs.pm:37 #, c-format msgid "maybe" msgstr "možda" #: pkgs.pm:246 #, c-format msgid "" "Some packages requested by %s cannot be installed:\n" "%s" msgstr "" #: pkgs.pm:334 #, fuzzy, c-format msgid "An error occurred:" msgstr "Hm,pojavila se greška" #: pkgs.pm:807 #, c-format msgid "Do not ask again" msgstr "" #: pkgs.pm:823 #, c-format msgid "%d installation transactions failed" msgstr "%d instlaciona transakcija nije uspela" #: pkgs.pm:824 #, fuzzy, c-format msgid "Installation of packages failed:" msgstr "Instaliram paket %s" #: share/meta-task/compssUsers.pl:13 #, c-format msgid "Workstation" msgstr "Radna stanica" #: share/meta-task/compssUsers.pl:15 #, c-format msgid "Office Workstation" msgstr "Radna(Office) stanica" #: share/meta-task/compssUsers.pl:17 #, c-format msgid "" "Office programs: wordprocessors (LibreOffice Writer, Kword), spreadsheets " "(LibreOffice Calc, Kspread), PDF viewers, etc" msgstr "" "Office programi: tekst procesori (LibreOffice Writer, Kword), tabele " "(LibreOffice Calc, Kspread), pdf preglednici, itd" #: share/meta-task/compssUsers.pl:22 #, c-format msgid "Game station" msgstr "Stanica za igru" #: share/meta-task/compssUsers.pl:23 #, c-format msgid "Amusement programs: arcade, boards, strategy, etc" msgstr "Zabavni programi: arkade, ige na tabli, strategije, itd" #: share/meta-task/compssUsers.pl:26 #, c-format msgid "Multimedia station" msgstr "Multimedijalna stanica" #: share/meta-task/compssUsers.pl:27 #, c-format msgid "Sound and video playing/editing programs" msgstr "Programi za puštanje zvuka i videa" #: share/meta-task/compssUsers.pl:32 #, c-format msgid "Internet station" msgstr "Internet stanica" #: share/meta-task/compssUsers.pl:33 #, c-format msgid "" "Set of tools to read and send mail and news (mutt, tin..) and to browse the " "Web" msgstr "" "Skup alata za čitanje i slanje el.pošte i vesti (mutt, tin..) i za " "pretraživanje Interneta" #: share/meta-task/compssUsers.pl:38 #, c-format msgid "Network Computer (client)" msgstr "Mrežni kompjuter (klijent)" #: share/meta-task/compssUsers.pl:39 #, c-format msgid "Clients for different protocols including ssh" msgstr "Klijenti za različite protokole uključujući i ssh" #: share/meta-task/compssUsers.pl:44 #, c-format msgid "Tools to ease the configuration of your computer" msgstr "Alati za lako konfigurisanje kompjutera" #: share/meta-task/compssUsers.pl:48 #, c-format msgid "Console Tools" msgstr "Konzolni alati" #: share/meta-task/compssUsers.pl:49 #, c-format msgid "Editors, shells, file tools, terminals" msgstr "editori,šelovi, alati za datoteke, terminali" #: share/meta-task/compssUsers.pl:53 share/meta-task/compssUsers.pl:156 #: share/meta-task/compssUsers.pl:158 #, c-format msgid "Development" msgstr "Razvojna" #: share/meta-task/compssUsers.pl:54 share/meta-task/compssUsers.pl:159 #, c-format msgid "C and C++ development libraries, programs and include files" msgstr "C i C++ razvojne biblioteke, programi i propratne datoteke" #: share/meta-task/compssUsers.pl:57 share/meta-task/compssUsers.pl:163 #, c-format msgid "Documentation" msgstr "Dokumentacija" #: share/meta-task/compssUsers.pl:58 share/meta-task/compssUsers.pl:164 #, c-format msgid "Books and Howto's on Linux and Free Software" msgstr "Knjige i Kako? (Howto's) za Linux i Besplatni Softver" #: share/meta-task/compssUsers.pl:62 share/meta-task/compssUsers.pl:167 #, c-format msgid "LSB" msgstr "LSB" #: share/meta-task/compssUsers.pl:63 share/meta-task/compssUsers.pl:168 #, c-format msgid "Linux Standard Base. Third party applications support" msgstr "Linux-ova Standardna Baza. Podrška za Third party aplikaicje" #: share/meta-task/compssUsers.pl:72 #, c-format msgid "Web Server" msgstr "Veb Server" #: share/meta-task/compssUsers.pl:73 #, c-format msgid "Apache" msgstr "Apache" #: share/meta-task/compssUsers.pl:76 #, c-format msgid "Groupware" msgstr "Softver za grupni rad" #: share/meta-task/compssUsers.pl:77 #, c-format msgid "Kolab Server" msgstr "Kolab Server" #: share/meta-task/compssUsers.pl:80 share/meta-task/compssUsers.pl:121 #, c-format msgid "Firewall/Router" msgstr "Server, Firewall/Router" #: share/meta-task/compssUsers.pl:81 share/meta-task/compssUsers.pl:122 #, c-format msgid "Internet gateway" msgstr "Internet gateway" #: share/meta-task/compssUsers.pl:84 #, c-format msgid "Mail/News" msgstr "El.pošta/vesti" #: share/meta-task/compssUsers.pl:85 #, c-format msgid "Postfix mail server, Inn news server" msgstr "Postfix server za el.poštu,Inn server za vesti " #: share/meta-task/compssUsers.pl:88 #, c-format msgid "Directory Server" msgstr "Server direktorijuma" #: share/meta-task/compssUsers.pl:92 #, c-format msgid "FTP Server" msgstr "FTP Server" #: share/meta-task/compssUsers.pl:93 #, c-format msgid "ProFTPd" msgstr "ProFTPd" #: share/meta-task/compssUsers.pl:96 #, c-format msgid "DNS/NIS" msgstr "DNS/NIS" #: share/meta-task/compssUsers.pl:97 #, c-format msgid "Domain Name and Network Information Server" msgstr "Ime Domena i Mrežni Informacioni Server" #: share/meta-task/compssUsers.pl:100 #, c-format msgid "File and Printer Sharing Server" msgstr "Fajl Server i server za deljenje štampača" #: share/meta-task/compssUsers.pl:101 #, c-format msgid "NFS Server, Samba server" msgstr "NFS Server, Samba Server" #: share/meta-task/compssUsers.pl:104 share/meta-task/compssUsers.pl:117 #, c-format msgid "Database" msgstr "Server,Baze podataka" #: share/meta-task/compssUsers.pl:105 #, c-format msgid "PostgreSQL and MySQL Database Server" msgstr "PostgreSQL ili MySQL server za bazu podataka" #: share/meta-task/compssUsers.pl:109 #, c-format msgid "Web/FTP" msgstr "Server, Web/FTP" #: share/meta-task/compssUsers.pl:110 #, c-format msgid "Apache, Pro-ftpd" msgstr "Apache, Pro-ftpd" #: share/meta-task/compssUsers.pl:113 #, c-format msgid "Mail" msgstr "Pošta" #: share/meta-task/compssUsers.pl:114 #, c-format msgid "Postfix mail server" msgstr "Postfix mail server" #: share/meta-task/compssUsers.pl:118 #, c-format msgid "PostgreSQL or MySQL database server" msgstr "PostgreSQL ili MySQL server za bazu podataka" #: share/meta-task/compssUsers.pl:125 #, c-format msgid "Network Computer server" msgstr "Mrežni Server" #: share/meta-task/compssUsers.pl:126 #, c-format msgid "NFS server, SMB server, Proxy server, ssh server" msgstr "NFS server, SMB server, Proxy server, SSH server" #: share/meta-task/compssUsers.pl:132 #, c-format msgid "Graphical Environment" msgstr "Grafičko Okruženje" #: share/meta-task/compssUsers.pl:134 #, c-format msgid "KDE Workstation" msgstr "KDE padna stanica" #: share/meta-task/compssUsers.pl:135 #, c-format msgid "" "The K Desktop Environment, the basic graphical environment with a collection " "of accompanying tools" msgstr "" "K Desktop okruženje, osnovno grafičko okruženje sa kolekcijom pratećih alata" #: share/meta-task/compssUsers.pl:139 #, c-format msgid "GNOME Workstation" msgstr "Gnome radna stanica" #: share/meta-task/compssUsers.pl:140 #, c-format msgid "" "A graphical environment with user-friendly set of applications and desktop " "tools" msgstr "" "Grafička okruženja za setom korisničk NFS server, SMB server, Proxy server, " "NFS server, SMB server, Proxy serverih aplikacija i desktopalata" #: share/meta-task/compssUsers.pl:144 #, fuzzy, c-format msgid "LXDE Desktop" msgstr "IceWm Desktop" #: share/meta-task/compssUsers.pl:146 #, fuzzy, c-format msgid "" "A lightweight & fast graphical environment with user-friendly set of " "applications and desktop tools" msgstr "" "Grafička okruženja za setom korisničk NFS server, SMB server, Proxy server, " "NFS server, SMB server, Proxy serverih aplikacija i desktopalata" #: share/meta-task/compssUsers.pl:149 #, c-format msgid "Other Graphical Desktops" msgstr "Drugi grafički desktopovi" #: share/meta-task/compssUsers.pl:150 #, c-format msgid "Window Maker, Enlightenment, Fvwm, etc" msgstr " Window Maker, Enlightenment, Fvwm, itd" #: share/meta-task/compssUsers.pl:173 #, c-format msgid "Utilities" msgstr "Alati" #: share/meta-task/compssUsers.pl:175 share/meta-task/compssUsers.pl:176 #, c-format msgid "SSH Server" msgstr "SSH Server" #: share/meta-task/compssUsers.pl:180 #, c-format msgid "Webmin" msgstr "Webmin" #: share/meta-task/compssUsers.pl:181 #, c-format msgid "Webmin Remote Configuration Server" msgstr "Webmin server za daljinsku kontrolu" #: share/meta-task/compssUsers.pl:185 #, c-format msgid "Network Utilities/Monitoring" msgstr "Mrežni alati/Monitoring" #: share/meta-task/compssUsers.pl:186 #, c-format msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..." msgstr "Alati za monitoring, upravljanje procesima, tcpdump, nmap, ..." #: share/meta-task/compssUsers.pl:190 #, c-format msgid "Mageia Wizards" msgstr "Mageia Čarobnjaci" #: share/meta-task/compssUsers.pl:191 #, c-format msgid "Wizards to configure server" msgstr "Čarobnjaci za podešavanje servera" #: steps.pm:85 #, c-format msgid "" "An error occurred, but I do not know how to handle it nicely.\n" "Continue at your own risk." msgstr "" "Greška, ali neznam kako da je razrešim.\n" "Nastavite na vaš rizik!" #: steps.pm:451 #, c-format msgid "" "Some important packages did not get installed properly.\n" "Either your cdrom drive or your cdrom is defective.\n" "Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm" "\"\n" msgstr "" "Neki važni paketi nisu dobro instalirani.\n" "Vaš cdrom uređaj ili cd su neispravni.\n" "Proverite cdrom na instaliranom kompjuteru koristeće \"rpm -qpl media/main/*." "rpm\"\n" #: steps_auto_install.pm:71 steps_stdio.pm:27 #, c-format msgid "Entering step `%s'\n" msgstr "Pokrećem korak `%s'\n" #: steps_curses.pm:22 #, c-format msgid "%s Installation %s" msgstr "%s Instalacija %s" #: steps_curses.pm:32 #, c-format msgid "/ between elements" msgstr "/ između elemenata" #: steps_gtk.pm:149 #, c-format msgid "Xorg server is slow to start. Please wait..." msgstr "" #: steps_gtk.pm:213 #, c-format msgid "" "Your system is low on resources. You may have some problem installing\n" "%s. If that occurs, you can try a text install instead. For this,\n" "press `F1' when booting on CDROM, then enter `text'." msgstr "" "Vaš sistem ima manjak snage. Usled toga možete imati problema pri " "instalaciji\n" "%s. Ukoliko se oni pojave, možete probati tekstualnu instalaciju. Da bi to " "postigli,\n" "pritisnite `F1' pri startanju sa CDROM-a, a onda ukucajte `text'." #: steps_gtk.pm:246 #, c-format msgid "Install %s KDE Desktop" msgstr "" #: steps_gtk.pm:247 #, c-format msgid "Install %s GNOME Desktop" msgstr "" #: steps_gtk.pm:248 #, fuzzy, c-format msgid "Custom install" msgstr "Minimalno instaliraj" #: steps_gtk.pm:269 #, fuzzy, c-format msgid "KDE Desktop" msgstr "IceWm Desktop" #: steps_gtk.pm:270 #, fuzzy, c-format msgid "GNOME Desktop" msgstr "IceWm Desktop" #: steps_gtk.pm:271 #, fuzzy, c-format msgid "Custom Desktop" msgstr "IceWm Desktop" #: steps_gtk.pm:277 #, c-format msgid "Here's a preview of the '%s' desktop." msgstr "" #: steps_gtk.pm:305 #, c-format msgid "Click on images in order to see a bigger preview" msgstr "" #: steps_gtk.pm:323 steps_interactive.pm:617 steps_list.pm:30 #, c-format msgid "Package Group Selection" msgstr "Odabir grupa paketa" #: steps_gtk.pm:344 steps_interactive.pm:634 #, c-format msgid "Individual package selection" msgstr "Pojedinačno biranje paketa" #: steps_gtk.pm:368 steps_interactive.pm:554 #, c-format msgid "Total size: %d / %d MB" msgstr "Ukupna veličina: %d / %d MB" #: steps_gtk.pm:410 #, c-format msgid "Bad package" msgstr "Loš paket" #: steps_gtk.pm:412 #, c-format msgid "Version: " msgstr "Verzija: " #: steps_gtk.pm:413 #, c-format msgid "Size: " msgstr "Veličina: " #: steps_gtk.pm:413 #, c-format msgid "%d KB\n" msgstr "%d KB\n" #: steps_gtk.pm:414 #, c-format msgid "Importance: " msgstr "Važnost: " #: steps_gtk.pm:448 #, c-format msgid "You cannot select/unselect this package" msgstr "Ne možete selektovati/deselektovati ovaj paket" #: steps_gtk.pm:452 #, c-format msgid "due to missing %s" msgstr "zbog ne postojanja %s" #: steps_gtk.pm:453 #, c-format msgid "due to unsatisfied %s" msgstr "zbog ne zadovoljenog %s" #: steps_gtk.pm:454 #, c-format msgid "trying to promote %s" msgstr "pokušavam da prikažem %s" #: steps_gtk.pm:455 #, c-format msgid "in order to keep %s" msgstr "da bih zadržao %s" #: steps_gtk.pm:460 #, c-format msgid "" "You cannot select this package as there is not enough space left to install " "it" msgstr "Ne možete selektovati ovaj paket jer nema više slobodnog prostora" #: steps_gtk.pm:463 #, c-format msgid "The following packages are going to be installed" msgstr "Sledeći paketi treba da budu instalirani" #: steps_gtk.pm:464 #, c-format msgid "The following packages are going to be removed" msgstr "Sledeći paketi će biti izbrisani" #: steps_gtk.pm:489 #, c-format msgid "This is a mandatory package, it cannot be unselected" msgstr "Ovo je obavezni paket,i ne može biti deselektovan" #: steps_gtk.pm:491 #, c-format msgid "You cannot unselect this package. It is already installed" msgstr "Možete deselektovati ovaj paket jer je već instaliran" #: steps_gtk.pm:493 #, c-format msgid "You cannot unselect this package. It must be upgraded" msgstr "Ne možete deselektovati ovaj paket.On mora biti ažuriran" #: steps_gtk.pm:497 #, c-format msgid "Show automatically selected packages" msgstr "Automatski prikaži izabrane pakete" #: steps_gtk.pm:503 #, c-format msgid "Install" msgstr "Instaliraj" #: steps_gtk.pm:506 #, c-format msgid "Load/Save selection" msgstr "Učitaj/Sačuvaj izbor" #: steps_gtk.pm:507 #, c-format msgid "Updating package selection" msgstr "Ažuriranje selekcije paketa" #: steps_gtk.pm:512 #, c-format msgid "Minimal install" msgstr "Minimalno instaliraj" #: steps_gtk.pm:525 #, c-format msgid "Software Management" msgstr "Podešavanje Softvera" #: steps_gtk.pm:525 steps_interactive.pm:439 #, c-format msgid "Choose the packages you want to install" msgstr "Izaberi pakete za instalaciju" #: steps_gtk.pm:542 steps_interactive.pm:648 steps_list.pm:32 #, c-format msgid "Installing" msgstr "Instaliram" #: steps_gtk.pm:572 #, c-format msgid "No details" msgstr "Bez detalja" #: steps_gtk.pm:591 #, fuzzy, c-format msgid "Time remaining:" msgstr "Preostalo vreme" #: steps_gtk.pm:592 #, fuzzy, c-format msgid "(estimating...)" msgstr "Procenjujem" #: steps_gtk.pm:622 #, fuzzy, c-format msgid "%d package" msgid_plural "%d packages" msgstr[0] "%d paketa" msgstr[1] "%d paketa" msgstr[2] "%d paketa" #: steps_gtk.pm:677 steps_interactive.pm:812 steps_list.pm:43 #, c-format msgid "Summary" msgstr "Sažetak" #: steps_gtk.pm:696 #, c-format msgid "Configure" msgstr "Podesi" #: steps_gtk.pm:713 steps_interactive.pm:808 steps_interactive.pm:958 #, c-format msgid "not configured" msgstr "nije podešeno" #: steps_gtk.pm:747 #, fuzzy, c-format msgid "Media Selection" msgstr "Odabir grupa paketa" #: steps_gtk.pm:756 steps_interactive.pm:340 #, c-format msgid "" "The following installation media have been found.\n" "If you want to skip some of them, you can unselect them now." msgstr "" "Pronađeni su sledeći instalacioni mediji.\n" "Ukoliko želite da preskočite neke od njih, deselektujte ih sada." #: steps_gtk.pm:772 steps_interactive.pm:346 #, c-format msgid "" "You have the option to copy the contents of the CDs onto the hard disk drive " "before installation.\n" "It will then continue from the hard disk drive and the packages will remain " "available once the system is fully installed." msgstr "" "Imate mogućnost da kopirate sadržaj CD-ova na hard disk pre instalacije.\n" "Nakon toga će instalcija nastaviti sa hard diska a paketi će ostati dostupni " "i kada se završi instalacija." #: steps_gtk.pm:774 steps_interactive.pm:348 #, c-format msgid "Copy whole CDs" msgstr "Kopiranje celog CDa" #: steps_interactive.pm:39 #, c-format msgid "An error occurred" msgstr "Hm,pojavila se greška" #: steps_interactive.pm:104 #, c-format msgid "Please choose your keyboard layout" msgstr "Izaberite raspored tastature" #: steps_interactive.pm:108 #, fuzzy, c-format msgid "Here is the full list of available keyboards:" msgstr "Ovde je predstavljena cela lista dostupnih rasporeda za tastature" #: steps_interactive.pm:151 #, c-format msgid "Install/Upgrade" msgstr "Instalacija/Ažuriranje" #: steps_interactive.pm:155 #, c-format msgid "Is this an install or an upgrade?" msgstr "Da li je ovo instalacija ili ažuriranje?" #: steps_interactive.pm:157 #, fuzzy, c-format msgid "" "_: This is a noun:\n" "Install" msgstr "Instaliraj" #: steps_interactive.pm:159 #, c-format msgid "Upgrade %s" msgstr "Ažuriranje %s" #: steps_interactive.pm:182 #, c-format msgid "Encryption key for %s" msgstr "Ključ za enkripciju za %s" #: steps_interactive.pm:213 #, c-format msgid "Cancel installation, reboot system" msgstr "" #: steps_interactive.pm:214 #, fuzzy, c-format msgid "New Installation" msgstr "Instalacija" #: steps_interactive.pm:215 #, c-format msgid "Upgrade previous installation (not recommended)" msgstr "" #: steps_interactive.pm:219 #, c-format msgid "" "Installer has detected that your installed Linux system could not\n" "safely be upgraded to %s.\n" "\n" "New installation replacing your previous one is recommended.\n" "\n" "Warning : you should backup all your personal data before choosing \"New\n" "Installation\"." msgstr "" #: steps_interactive.pm:261 #, c-format msgid "IDE" msgstr "IDE" #: steps_interactive.pm:261 #, c-format msgid "Configuring IDE" msgstr "Konfiguracija IDE" #: steps_interactive.pm:298 #, c-format msgid "" "No free space for 1MB bootstrap! Install will continue, but to boot your " "system, you'll need to create the bootstrap partition in DiskDrake" msgstr "" "Nema slobodnog prostora za 1MB bootstrap! Instalacija đe se nastaviti, ali " "da bi podigli vašsistem, morađete da kreirate bootstrap particiju u " "DiskDrake-u" #: steps_interactive.pm:303 #, c-format msgid "" "You'll need to create a PPC PReP Boot bootstrap! Install will continue, but " "to boot your system, you'll need to create the bootstrap partition in " "DiskDrake" msgstr "" "Morate kreirati PPC PReP bootstrap! Instalacija đe se nastaviti, ali da bi " "podigli vaš sistem, morađete da kreirate bootstrap particiju u DiskDrake-u" #: steps_interactive.pm:379 #, c-format msgid "" "Change your Cd-Rom!\n" "Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when " "done.\n" "If you do not have it, press Cancel to avoid installation from this Cd-Rom." msgstr "" "Promenite vaš Cd-Rom!\n" "\n" "Ubacite vaš CD označen sa \"%s\" u pogon i pritisnite \"U redu\" kada ste " "spremni.\n" "Ukoliko ga nemate pritisnite Poništi." #: steps_interactive.pm:396 #, c-format msgid "Looking for available packages..." msgstr "Tražim pakete" #: steps_interactive.pm:404 #, c-format msgid "" "Your system does not have enough space left for installation or upgrade " "(%dMB > %dMB)" msgstr "" "Vaš sistem nema dovoljno slobodnog prostora za instalaciju ili ažuriranje " "sistema (%dMB > %dMB)" #: steps_interactive.pm:451 #, c-format msgid "" "Please choose load or save package selection.\n" "The format is the same as auto_install generated files." msgstr "" "Molim Vas da izaberete učitavanje ili snimanje selekcije paketa.\n" "Format koji se koristi je isti kao i kod auto_install generisanih fajlova." #: steps_interactive.pm:453 #, c-format msgid "Load" msgstr "Učitaj" #: steps_interactive.pm:453 #, c-format msgid "Save" msgstr "Sačuvaj" #: steps_interactive.pm:461 #, c-format msgid "Bad file" msgstr "Loš fajl" #: steps_interactive.pm:477 #, fuzzy, c-format msgid "KDE" msgstr "IDE" #: steps_interactive.pm:478 #, c-format msgid "GNOME" msgstr "GNOME" #: steps_interactive.pm:481 #, fuzzy, c-format msgid "Desktop Selection" msgstr "Odabir grupa paketa" #: steps_interactive.pm:482 #, c-format msgid "You can choose your workstation desktop profile." msgstr "" #: steps_interactive.pm:568 #, c-format msgid "Selected size is larger than available space" msgstr "Selektovana veličina je veđa od slobodnog prostora" #: steps_interactive.pm:584 #, c-format msgid "Type of install" msgstr "Tip instalacije" #: steps_interactive.pm:585 #, c-format msgid "" "You have not selected any group of packages.\n" "Please choose the minimal installation you want:" msgstr "" "Niste selektovali nijednu grupu paketa.\n" "Izaberite minimalnu instalaciju koju želite:" #: steps_interactive.pm:590 #, c-format msgid "With X" msgstr "Sa X-ovima" #: steps_interactive.pm:591 #, fuzzy, c-format msgid "Install suggested packages" msgstr "Instaliram paket %s" #: steps_interactive.pm:592 #, c-format msgid "With basic documentation (recommended!)" msgstr "Sa osnovnom dokumentacijom (preporuka!)" #: steps_interactive.pm:593 #, c-format msgid "Truly minimal install (especially no urpmi)" msgstr "Stvarno minimalna instalacija (posebno bez urpmi)" #: steps_interactive.pm:649 #, c-format msgid "Preparing installation" msgstr "Pripremam instalaciju" #: steps_interactive.pm:657 #, c-format msgid "Installing package %s" msgstr "Instaliram paket %s" #: steps_interactive.pm:681 #, c-format msgid "There was an error ordering packages:" msgstr "Greška u listi paketa:" #: steps_interactive.pm:681 #, c-format msgid "Go on anyway?" msgstr "Svejedno nastaviti dalje ?" #: steps_interactive.pm:685 #, c-format msgid "Retry" msgstr "" #: steps_interactive.pm:686 #, c-format msgid "Skip this package" msgstr "" #: steps_interactive.pm:687 #, c-format msgid "Skip all packages from medium \"%s\"" msgstr "" #: steps_interactive.pm:688 #, fuzzy, c-format msgid "Go back to media and packages selection" msgstr "Sačuvaj selekciju paketa" #: steps_interactive.pm:691 #, fuzzy, c-format msgid "There was an error installing package %s." msgstr "Greška pri instalaciji paketa:" #: steps_interactive.pm:710 #, c-format msgid "Post-install configuration" msgstr "Postinstalaciona konfiguracija" #: steps_interactive.pm:717 #, c-format msgid "Please ensure the Update Modules media is in drive %s" msgstr "Proverite da li se u uređaju %s nalazi medij za ažuriranje modula" #: steps_interactive.pm:745 steps_list.pm:47 #, c-format msgid "Updates" msgstr "Ažuriranje" #: steps_interactive.pm:746 #, c-format msgid "" "You now have the opportunity to download updated packages. These packages\n" "have been updated after the distribution was released. They may\n" "contain security or bug fixes.\n" "\n" "To download these packages, you will need to have a working Internet \n" "connection.\n" "\n" "Do you want to install the updates?" msgstr "" "Sada imate mogućnost da download-ujete ažurirane pakete koji su\n" "kreirani nakon izlaska distribucije.\n" "Oni mogu sadržavati ispravke grešaka i sigurnosnih rupa\n" "\n" "Da bi skinuli ove pakete morate da imate podešenu Internet konekciju.\n" "\n" "da li želite da instalirate update-ove ?" #: steps_interactive.pm:854 #, c-format msgid "%s on %s" msgstr "%s na %s" #: steps_interactive.pm:886 steps_interactive.pm:893 steps_interactive.pm:906 #: steps_interactive.pm:923 steps_interactive.pm:938 #, c-format msgid "Hardware" msgstr "Hardver" #: steps_interactive.pm:907 steps_interactive.pm:924 #, c-format msgid "Sound card" msgstr "Zvučna kartica" #: steps_interactive.pm:927 #, c-format msgid "Do you have an ISA sound card?" msgstr "Da li imate ISA zvučnu karticu?" #: steps_interactive.pm:929 #, c-format msgid "" "Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound " "card" msgstr "" "Pokrenite \"alsaconf\" ili \"sndconfig\" nakon isntalacije da bi podesili " "svoju zvučnu karticu" #: steps_interactive.pm:931 #, c-format msgid "No sound card detected. Try \"harddrake\" after installation" msgstr "" "Nije detektovana zvučna kartica. Pokrenite \"harddrake\" nakon instalacije" #: steps_interactive.pm:939 #, c-format msgid "Graphical interface" msgstr "Grafički interfejs" #: steps_interactive.pm:945 steps_interactive.pm:956 #, c-format msgid "Network & Internet" msgstr "Mreža i Internet" #: steps_interactive.pm:957 #, c-format msgid "Proxies" msgstr "Proksiji" #: steps_interactive.pm:958 #, c-format msgid "configured" msgstr "podešeno" #: steps_interactive.pm:968 #, c-format msgid "Security Level" msgstr "Nivo sigurnosti" #: steps_interactive.pm:987 #, c-format msgid "Firewall" msgstr "Zaštitni zid (Firewall)" #: steps_interactive.pm:991 #, c-format msgid "activated" msgstr "Aktivirano" #: steps_interactive.pm:991 #, c-format msgid "disabled" msgstr "onemogućeno" #: steps_interactive.pm:1005 #, c-format msgid "You have not configured X. Are you sure you really want this?" msgstr "Niste podesili X. Da li ste sigurni da želite to?" #: steps_interactive.pm:1034 #, c-format msgid "Preparing bootloader..." msgstr "Pripremam starter..." #: steps_interactive.pm:1034 #, fuzzy, c-format msgid "Preparing initial startup program..." msgstr "Pripremam instalaciju" #: steps_interactive.pm:1035 #, c-format msgid "Be patient, this may take a while..." msgstr "" #: steps_interactive.pm:1046 #, c-format msgid "" "You appear to have an OldWorld or Unknown machine, the yaboot bootloader " "will not work for you. The install will continue, but you'll need to use " "BootX or some other means to boot your machine. The kernel argument for the " "root fs is: root=%s" msgstr "" "Pošto izgleda da imate staromodnu ili nepoznatu mašinu, yaboot starter neđe " "raditi kod vas.Instalacija će biti nastavljena, ali ćete morati da koristite " "BootX ili nešto drugo da bi podigli sistem. Argument kernela zaroot fs je: " "root=%s" #: steps_interactive.pm:1059 #, c-format msgid "" "In this security level, access to the files in the Windows partition is " "restricted to the administrator." msgstr "" "U ovom sugurnosnom nivou pristup fajlovima na Windows particiji je dozvoljen " "samo administratorima." #: steps_interactive.pm:1091 #, c-format msgid "Insert a blank floppy in drive %s" msgstr "Ubacite praznu disketu u uređaj %s" #: steps_interactive.pm:1093 #, c-format msgid "Creating auto install floppy..." msgstr "Kreiram auto instalacioni flopi" #: steps_interactive.pm:1104 #, c-format msgid "" "Some steps are not completed.\n" "\n" "Do you really want to quit now?" msgstr "" "Neki koraci nisu kompletirani.\n" "\n" "Da li stvarno želite da završite ?" #: steps_interactive.pm:1114 #, c-format msgid "Congratulations" msgstr "Čestitke" #: steps_interactive.pm:1117 #, c-format msgid "Reboot" msgstr "Restart" #. -PO: please keep the following messages very short: they must fit in the left list of the installer!!! #: steps_list.pm:16 #, c-format msgid "" "_: Keep these entry short\n" "Language" msgstr "Izaberite jezik" #: steps_list.pm:16 steps_list.pm:23 #, c-format msgid "Localization" msgstr "" #: steps_list.pm:17 #, c-format msgid "" "_: Keep these entry short\n" "License" msgstr "Licenca" #: steps_list.pm:18 #, c-format msgid "" "_: Keep these entry short\n" "Mouse" msgstr "Miš" #: steps_list.pm:19 steps_list.pm:20 #, c-format msgid "" "_: Keep these entry short\n" "Hard drive detection" msgstr "Detekcija hard diska" #: steps_list.pm:21 steps_list.pm:22 #, c-format msgid "" "_: Keep these entry short\n" "Installation class" msgstr "Instalaciona klasa" #: steps_list.pm:23 #, c-format msgid "" "_: Keep these entry short\n" "Keyboard" msgstr "Tastatura" #: steps_list.pm:24 #, c-format msgid "" "_: Keep these entry short\n" "Security" msgstr "Sigurnost" #: steps_list.pm:25 #, c-format msgid "" "_: Keep these entry short\n" "Partitioning" msgstr "Particionisanje" #: steps_list.pm:27 steps_list.pm:28 #, c-format msgid "" "_: Keep these entry short\n" "Formatting" msgstr "Formatiranje" #: steps_list.pm:29 #, c-format msgid "" "_: Keep these entry short\n" "Choosing packages" msgstr "Izbor paketa" #: steps_list.pm:31 #, c-format msgid "" "_: Keep these entry short\n" "Installing" msgstr "Instaliram" #: steps_list.pm:34 #, c-format msgid "" "_: Keep these entry short\n" "Users" msgstr "Korisnici" #: steps_list.pm:38 steps_list.pm:39 #, c-format msgid "" "_: Keep these entry short\n" "Bootloader" msgstr "Starter" #: steps_list.pm:40 steps_list.pm:41 #, c-format msgid "" "_: Keep these entry short\n" "Configure X" msgstr "Konfigurisanje X-a" #: steps_list.pm:42 #, c-format msgid "" "_: Keep these entry short\n" "Summary" msgstr "Sažetak" #: steps_list.pm:44 steps_list.pm:45 #, c-format msgid "" "_: Keep these entry short\n" "Services" msgstr "Servisi" #: steps_list.pm:46 #, c-format msgid "" "_: Keep these entry short\n" "Updates" msgstr "Ažuriranje" #: steps_list.pm:48 #, c-format msgid "" "_: Keep these entry short\n" "Exit" msgstr "Izlaz" #, fuzzy #~ msgid "Preparing boot images..." #~ msgstr "Pripremam starter..." #~ msgid "" #~ "_: Keep these entry short\n" #~ "Networking" #~ msgstr "Mreža" #~ msgid "" #~ "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, " #~ "gnumeric), pdf viewers, etc" #~ msgstr "" #~ "Office programi: tekst procesori (kword, abiword), tabele (kspread, " #~ "gnumeric), pdf preglednici, itd" #~ msgid "Downloading file %s..." #~ msgstr "Preuzimam fajl %s ..." #~ msgid "" #~ "You have selected the following server(s): %s\n" #~ "\n" #~ "\n" #~ "These servers are activated by default. They do not have any known " #~ "security\n" #~ "issues, but some new ones could be found. In that case, you must make " #~ "sure\n" #~ "to upgrade as soon as possible.\n" #~ "\n" #~ "\n" #~ "Do you really want to install these servers?\n" #~ msgstr "" #~ "Vi ste izabrali sledeđe servere: %s\n" #~ "\n" #~ "\n" #~ "Ovi serveri se aktiviraju po osnovnoj postavci. Oni nemaju poznatih " #~ "sigurnosnih\n" #~ "nedostataka, ali se ipak mogu pojaviti neki novi. Ukoliko se to desi, " #~ "morate ih ažurirati\n" #~ "što je pre moguđe.\n" #~ "\n" #~ "\n" #~ "Da li zaista želite da instalirate ove servise?\n" #~ msgid "IceWm Desktop" #~ msgstr "IceWm Desktop" #~ msgid "Contacting the mirror to get the list of available packages..." #~ msgstr "Kantaktirajte mirror za listu mogućih paketa" #~ msgid "Unable to contact mirror %s" #~ msgstr "Ne mogu da kontaktiram miror %s" #~ msgid "Generate auto install floppy" #~ msgstr "Kreiraj auto instalacionu disketu" #~ msgid "" #~ "The auto install can be fully automated if wanted,\n" #~ "in that case it will take over the hard disk drive!!\n" #~ "(this is meant for installing on another box).\n" #~ "\n" #~ "You may prefer to replay the installation.\n" #~ msgstr "" #~ "Auto instalacija može biti potpuno automatizovana ukoliko želite,\n" #~ "u tom slučaju preuzeće kontrolu nad hard-diskom!!\n" #~ "(ovo se odnosi na instalaciju na drugoj mašini).\n" #~ "\n" #~ "Možda volite da ponovite instalaciju.\n" #~ msgid "Replay" #~ msgstr "Ponavljanje" #~ msgid "Automated" #~ msgstr "Automatski" #~ msgid "Save packages selection" #~ msgstr "Sačuvaj selekciju paketa" #~ msgid "Do you want to use aboot?" #~ msgstr "Da li želite da koristite aboot ?" #~ msgid "" #~ "Error installing aboot, \n" #~ "try to force installation even if that destroys the first partition?" #~ msgstr "" #~ "Greška pri instalaciji aboot-a, \n" #~ "Da li da probam da instaliram čak ako to vodi uništenju prve particije?" #~ msgid "All" #~ msgstr "Sve" #~ msgid "TV card" #~ msgstr "TV katica" #~ msgid "Boot" #~ msgstr "Startanje" #~ msgid "" #~ "_: Keep these entry short\n" #~ "Authentication" #~ msgstr "Autentifikacija" #~ msgid "Arkeia" #~ msgstr "Arkeia" #~ msgid "Flatout" #~ msgstr "Flatout" #~ msgid "Gwenview" #~ msgstr "Gwenview" #~ msgid "3D" #~ msgstr "3D" #~ msgid "CMS" #~ msgstr "CMS" #~ msgid "CRM" #~ msgstr "CRM" #~ msgid "2007 product line" #~ msgstr "linija proizvoda 2007" #~ msgid "Invictus Firewall" #~ msgstr "Zaštitni zid Invictus" #~ msgid "Discovery Live Mode" #~ msgstr "Discovery Live" #~ msgid "How to register" #~ msgstr "Kako se registrovati" #~ msgid "Rpmdrake 2" #~ msgstr "Rpmdrake 2" #~ msgid "Mandriva Online Services" #~ msgstr "Mandriva Online servisi" #~ msgid "New Theme" #~ msgstr "Nova tema" #~ msgid "Web 2.0" #~ msgstr "Veb 2.0" #~ msgid "Kaspersky" #~ msgstr "Kasperski" #~ msgid "LinDVD" #~ msgstr "LinDVD" #~ msgid "Skype" #~ msgstr "Skype" #~ msgid "Transgaming/Cedega" #~ msgstr "Transgaming/Cedega" #~ msgid "DrakVPN" #~ msgstr "DrakVPN" #, fuzzy #~ msgid "(%d package, %d MB)" #~ msgid_plural "(%d packages, %d MB)" #~ msgstr[0] "%d paketa" #~ msgstr[1] "%d paketa" #~ msgstr[2] "%d paketa" #~ msgid "%d packages" #~ msgstr "%d paketa" #~ msgid "Language" #~ msgstr "Izaberite jezik" #~ msgid "License" #~ msgstr "Licenca" #~ msgid "Installation class" #~ msgstr "Instalaciona klasa" #~ msgid "Formatting" #~ msgstr "Formatiranje" #~ msgid "Choosing packages" #~ msgstr "Izbor paketa" #~ msgid "Users" #~ msgstr "Korisnici" #~ msgid "Networking" #~ msgstr "Mreža" #~ msgid "Configure X" #~ msgstr "Konfigurisanje X-a" #~ msgid "" #~ "Cannot access kernel modules corresponding to your kernel (file %s is " #~ "missing), this generally means your boot floppy in not in sync with the " #~ "Installation medium (please create a newer boot floppy)" #~ msgstr "" #~ "Ne mogu da pristupim kernel modulima koji odgovaraju vašem kernelu (fajl " #~ "%s nmedostaje), što generalno znači da vaš boot floppy nije " #~ "sinhronizaovan sa Instalacionim medijom (kreirajte noviji boot floppy)" PM" mkdir '/etc/rpm'; symlink "/tmp/stage2/etc/rpm/$_", "/etc/rpm/$_" foreach 'macros.d'; } use URPM; use URPM::Resolve; use URPM::Signature; use urpm; use urpm::args; use urpm::main_loop; use urpm::select; use common; use install::any; use install::media qw(getFile_ getAndSaveFile_ packageMedium); use run_program; use detect_devices; use log; use fs; use fs::any; use fs::loopback; use c; #- lower bound on the left ( aka 90 means [90-100[ ) our %compssListDesc = ( 5 => N_("must have"), 4 => N_("important"), 3 => N_("very nice"), 2 => N_("nice"), 1 => N_("maybe"), ); #- TODO BEFORE TODO #- size and correction size functions for packages. my $B = 1.20873; my $C = 4.98663; #- does not take hdlist's into account as getAvailableSpace will do it. sub correctSize { $B * $_[0] + $C } sub invCorrectSize { ($_[0] - $C) / $B } sub selectedSize { my ($packages) = @_; my $size = 0; my %skip; #- take care of packages selected... foreach (@{$packages->{depslist}}) { if ($_->flag_selected) { $size += $_->size; #- if a package is obsoleted with the same name it should #- have been selected, so a selected new package obsoletes #- all the old package. exists $skip{$_->name} and next; $skip{$_->name} = undef; $size -= $packages->{sizes}{$_->name}; } } #- but remove size of package being obsoleted or removed. foreach (keys %{$packages->{state}{rejected}}) { my ($name) = /(.*)-[^\-]*-[^\-]*$/ or next; exists $skip{$name} and next; $skip{$name} = undef; $size -= $packages->{sizes}{$name}; } $size; } sub size2time { my ($x, $max) = @_; my $A = 7e-07; my $limit = min($max * 3 / 4, 9e8); if ($x < $limit) { $A * $x; } else { $x -= $limit; my $B = 6e-16; my $C = 15e-07; $B * $x ** 2 + $C * $x + $A * $limit; } } sub packagesProviding { my ($packages, $name) = @_; grep { $_->is_arch_compat } URPM::packages_providing($packages, $name); } #- search package with given name and compatible with current architecture. #- take the best one found (most up-to-date). sub packageByName { my ($packages, $name) = @_; my @l = grep { $_->name eq $name } packagesProviding($packages, $name); my $best; foreach (@l) { if ($best && $best != $_) { $_->compare_pkg($best) > 0 and $best = $_; } else { $best = $_; } } $best or log::l("unknown package `$name'"); $best; } sub _bestKernel_extensions { my ($o_match_all_hardware) = @_; $::o->{kernel_extension} ? $::o->{kernel_extension} : $o_match_all_hardware ? (arch() =~ /i.86/ ? '-desktop586' : '-desktop') : detect_devices::is_xbox() ? '-xbox' : detect_devices::is_i586() ? '-desktop586' : arch() =~ /i.86/ && detect_devices::dmi_detect_memory() > 3.8 * 1024 || detect_devices::isServer() ? '-server' : '-desktop'; } sub bestKernelPackage { my ($packages, $o_match_all_hardware) = @_; my @preferred_exts = _bestKernel_extensions($o_match_all_hardware); my @kernels = grep { $_ } map { packageByName($packages, "kernel$_-latest") } @preferred_exts; if (!@kernels) { #- fallback on most generic kernel if the suitable one is not available #- (only kernel-desktop586-latest is available on Dual ISO for i586) my @fallback_exts = _bestKernel_extensions('force'); @kernels = grep { $_ } map { packageByName($packages, "kernel$_-latest") } @fallback_exts; } log::l("bestKernelPackage (" . join(':', @preferred_exts) . "): " . join(' ', map { $_->name } @kernels) . (@kernels > 1 ? ' (choosing the first)' : '')); $kernels[0]; } sub packagesToInstall { my ($packages) = @_; my @packages; foreach (@{$packages->{media}}) { !$_->{ignore} or next; log::l("examining packagesToInstall of medium $_->{name}"); push @packages, grep { $_->flag_selected } install::media::packagesOfMedium($packages, $_); } log::l("found " . scalar(@packages) . " packages to install"); @packages; } sub _packageRequest { my ($packages, $pkg) = @_; #- check if the same or better version is installed, #- do not select in such case. $pkg && ($pkg->flag_upgrade || !$pkg->flag_installed) or return; #- check for medium selection, if the medium has not been #- selected, the package cannot be selected. my $medium = packageMedium($packages, $pkg); $medium and !$medium->{ignore} or return; +{ $pkg->id => 1 }; } sub packageCallbackChoices { my ($urpm, $_db, $_state, $choices, $virtual_pkg_name, $prefered) = @_; if ($prefered && @$prefered) { @$prefered; } elsif (my @l = _packageCallbackChoices_($urpm, $choices, $virtual_pkg_name)) { @l; } else { log::l("packageCallbackChoices: default choice ('" . $choices->[0]->name . "') from " . join(",", map { $_->name } @$choices) . " for $virtual_pkg_name"); $choices->[0]; } } sub _packageCallbackChoices_ { my ($urpm, $choices, $virtual_pkg_name) = @_; my ($prefer, $_other) = urpm::select::get_preferred($urpm, $choices, $::o->{preferred_packages}); if (@$prefer) { @$prefer; } elsif ($virtual_pkg_name eq 'kernel') { my $re = join('|', map { "kernel\Q$_-2" } _bestKernel_extensions()); my @l = grep { $_->name =~ $re } @$choices; log::l("packageCallbackChoices: kernel chosen ", join(",", map { $_->name } @l), " in ", join(",", map { $_->name } @$choices)); @l; } elsif ($choices->[0]->name =~ /^kernel-(.*source-|.*-devel-)/) { my @l = grep { if ($_->name =~ /^kernel-.*source-stripped-(.*)/) { my $version = quotemeta($1); find { $_->name =~ /-$version$/ && ($_->flag_installed || $_->flag_selected); } $urpm->packages_providing('kernel'); } elsif ($_->name =~ /(kernel-.*)-devel-(.*)/) { my $kernel = "$1-$2"; my $p = packageByName($urpm, $kernel); $p && ($p->flag_installed || $p->flag_selected); } elsif ($_->name =~ /^kernel-.*source-/) { #- hopefully we don't have a media with kernel-source but not kernel-source-stripped nor kernel-.*-devel 0; } else { log::l("unknown kernel-source package " . $_->fullname); 0; } } @$choices; log::l("packageCallbackChoices: kernel source chosen ", join(",", map { $_->name } @l), " in ", join(",", map { $_->name } @$choices)); @l; } else { (); } } sub skip_packages { my ($packages, $skipped_packages) = @_; $packages->compute_flags($skipped_packages, skip => 1); } sub select_by_package_names { my ($packages, $names, $b_base) = @_; my @l; foreach (@$names) { my $p = packageByName($packages, $_) or next; push @l, selectPackage($packages, $p, $b_base); } @l; } sub select_by_package_names_or_die { my ($packages, $names, $b_base) = @_; foreach (@$names) { my $p = packageByName($packages, $_) or die "package $_ not found"; !$p->flag_installed && !$p->flag_selected or next; my ($_pkgs, $error) = _selectPackage_with_error($packages, $p, $b_base); $error and die N("Some packages requested by %s cannot be installed:\n%s", $_, $error); } } sub _resolve_requested_and_check { my ($packages, $state, $requested) = @_; my @l = $packages->resolve_requested($packages->{rpmdb}, $state, $requested, callback_choices => \&packageCallbackChoices, no_suggests => $::o->{no_suggests}); my $error; if (find { !exists $state->{selected}{$_} } keys %$requested) { my @rejected = urpm::select::unselected_packages($packages, $state); $error = urpm::select::translate_why_unselected($packages, $state, @rejected); log::l("ERROR: selection failed: $error"); } \@l, $error; } sub selectPackage { my ($packages, $pkg, $b_base) = @_; my ($pkgs, $_error) = _selectPackage_with_error($packages, $pkg, $b_base); @$pkgs; } sub _selectPackage_with_error { my ($packages, $pkg, $b_base) = @_; my $state = $packages->{state} ||= {}; $packages->{rpmdb} ||= rpmDbOpen(); my ($pkgs, $error) = _resolve_requested_and_check($packages, $state, _packageRequest($packages, $pkg) || {}); if ($b_base) { $_->set_flag_base foreach @$pkgs; } ($pkgs, $error); } sub unselectPackage { my ($packages, $pkg) = @_; #- base packages are not unselectable, #- and already unselected package are no more unselectable. $pkg->flag_base and return; $pkg->flag_selected or return; my $state = $packages->{state} ||= {}; log::l("removing selection on package " . $pkg->fullname); my @l = $packages->disable_selected($packages->{rpmdb}, $state, $pkg); log::l(" removed selection on package " . $pkg->fullname . "gives " . join(',', map { scalar $_->fullname } @l)); } sub unselectAllPackages { my ($packages) = @_; my %keep_selected; log::l("unselecting all packages..."); foreach (@{$packages->{depslist}}) { if ($_->flag_base || $_->flag_installed && $_->flag_selected) { #- keep track of packages that should be kept selected. $keep_selected{$_->id} = $_; } else { #- deselect all packages except base or packages that need to be upgraded. $_->set_flag_required(0); $_->set_flag_requested(0); } } #- clean state, in order to start with a brand new set... $packages->{state} = {}; _resolve_requested_and_check($packages, $packages->{state}, \%keep_selected); } sub empty_packages { my ($o_keep_unrequested_dependencies) = @_; my $packages = urpm->new; urpm::get_global_options($packages); urpm::set_files($packages, '/mnt'); #- add additional fields used by DrakX. @$packages{qw(count media)} = (0, []); urpm::args::set_debug($packages) if $::o->{debug_urpmi}; $packages->{log} = \&log::l; $packages->{info} = \&log::l; $packages->{fatal} = $packages->{error} = sub { log::l("urpmi error: $_[0]"); $::o->ask_warn(undef, N("An error occurred:") . "\n\n" . $_[0]); }; $packages->{root} = $::prefix; $packages->{prefer_vendor_list} = '/etc/urpmi/prefer.vendor.list'; $packages->{keep_unrequested_dependencies} = defined($o_keep_unrequested_dependencies) ? $o_keep_unrequested_dependencies : 1; $urpm::args::options{force_transactions} = 1; $::force = 1; $packages->{options}{ignoresize} = 1; $packages->{options}{'priority-upgrade'}; # prevent priority upgrade # log $trans->add() faillure; FIXME: should we override *urpm::msg::sys_log? $packages->{debug} = \&log::l; $packages; } sub readCompssUsers { my ($file) = @_; my $f = common::open_file($file) or log::l("can not find $file: $!"), return; my ($compssUsers, $gtk_display_compssUsers) = eval join('', <$f>); if ($@) { log::l("ERROR: bad $file: $@"); } else { log::l("compssUsers.pl got: ", join(', ', map { qq("$_->{path}|$_->{label}") } @$compssUsers)); } ($compssUsers, $gtk_display_compssUsers); } sub saveCompssUsers { my ($packages, $compssUsers) = @_; my $flat; foreach (@$compssUsers) { my %fl = map { ("CAT_$_" => 1) } @{$_->{flags}}; $flat .= "$_->{label} [icon=xxx] [path=$_->{path}]\n"; foreach my $p (@{$packages->{depslist}}) { my @flags = $p->rflags; if ($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags) { $flat .= sprintf "\t%d %s\n", $p->rate, $p->name; } } } my $urpmidir = install::media::urpmidir(); output "$urpmidir/compssUsers.flat", $flat; } sub setSelectedFromCompssList { my ($packages, $rpmsrate_flags_chosen, $min_level, $max_size) = @_; $rpmsrate_flags_chosen->{TRUE} = 1; #- ensure TRUE is set my $nb = selectedSize($packages); my %pkgs = {}; foreach my $p (@{$packages->{depslist}}) { my @flags = $p->rflags; next if !$p->rate || $p->rate < $min_level || any { !any { /^!(.*)/ ? !$rpmsrate_flags_chosen->{$1} : $rpmsrate_flags_chosen->{$_} } split('\|\|') } @flags; $pkgs{$p->rate} ||= {}; $pkgs{$p->rate}{$p->id} = 1 if _packageRequest($packages, $p); } my %pkgswanted = {}; foreach my $level (sort { $b <=> $a } keys %pkgs) { #- determine the packages that will be selected #- the packages are not selected. my $state = $packages->{state} ||= {}; foreach my $p (keys %{$pkgs{$level}}) { $pkgswanted{$p} = 1; } my ($l, $_error) = _resolve_requested_and_check($packages, $state, \%pkgswanted); #- this enable an incremental total size. my $old_nb = $nb; foreach (@$l) { $nb += $_->size; } if ($max_size && $nb > $max_size) { $nb = $old_nb; $min_level = $level; $packages->disable_selected($packages->{rpmdb}, $state, @$l); last; } } my @flags = map_each { if_($::b, $::a) } %$rpmsrate_flags_chosen; log::l("setSelectedFromCompssList: reached size ", int($nb / 1024/1024), "MB, up to indice $min_level (less than ", formatXiB($max_size), ") for flags ", join(' ', sort @flags)); log::l("setSelectedFromCompssList: ", join(" ", sort map { $_->name } grep { $_->flag_selected } @{$packages->{depslist}})); $min_level; } #- useful to know the size it would take for a given min_level/max_size #- just save the selected packages, call setSelectedFromCompssList, and restore the selected packages sub saveSelected { my ($packages) = @_; my $state = delete $packages->{state}; my @l = @{$packages->{depslist}}; my @flags = map { ($_->flag_requested && 1) + ($_->flag_required && 2) + ($_->flag_upgrade && 4) } @l; [ $packages, $state, \@l, \@flags ]; } sub restoreSelected { my ($packages, $state, $l, $flags) = @{$_[0]}; $packages->{state} = $state; mapn { my ($pkg, $flag) = @_; $pkg->set_flag_requested($flag & 1); $pkg->set_flag_required($flag & 2); $pkg->set_flag_upgrade($flag & 4); } $l, $flags; } sub _inside { my ($l1, $l2) = @_; my $i = 0; return if @$l1 > @$l2; foreach (@$l1) { my $c; while ($c = $l2->[$i++] cmp $_) { return if $c == 1 || $i > @$l2; } } 1; } sub _or_ify { my ($first, @other) = @_; my @l = split('\|\|', $first); foreach (@other) { @l = map { my $n = $_; map { "$_&&$n" } @l; } split('\|\|'); } @l; } sub _or_clean { my ($flags) = @_; my @l = split("\t", $flags); @l = map { [ sort split('&&') ] } @l; my @r; B: while (@l) { my $e = shift @l; foreach (@r, @l) { _inside($_, $e) and next B; } push @r, $e; } join("\t", map { join('&&', @$_) } @r); } sub computeGroupSize { my ($packages, $min_level) = @_; my (%group, %memo); my %or_ify_cache; my $or_ify_cached = sub { $or_ify_cache{$_[0]} ||= join("\t", _or_ify(split("\t", $_[0]))); }; log::l("install::pkgs::computeGroupSize"); my $time = time(); my %pkgs_with_same_rflags; foreach (@{$packages->{depslist}}) { next if !$_->rate || $_->rate < $min_level || $_->flag_available; my $flags = join("\t", $_->rflags); next if $flags eq 'FALSE'; push @{$pkgs_with_same_rflags{$flags}}, $_; } foreach my $raw_flags (keys %pkgs_with_same_rflags) { my $flags = $or_ify_cached->($raw_flags);